Herhangi bir uygulama geliştirirken genellikle geliştirme sırasındaki hataları teşhis etmek, müşteri sorunlarını tespit etmek ve teşhis etmek ve diğer amaçlar için bilgileri günlük kaydına almak istersiniz.
Apps Komut Dosyası, günlük kaydı için üç farklı mekanizma sağlar:
Yerleşik Apps Komut Dosyası yürütme günlüğü. Bu günlük hafiftir ve gerçek zamanlı olarak aktarılır ancak yalnızca kısa bir süre saklanır.
Geliştirici Konsolu'ndaki Cloud Logging arayüzü, oluşturulduktan sonra günler boyunca saklanan günlükler sağlar.
Geliştirici Konsolu'ndaki Hata Bildirimi arayüzü. Komut dosyanız çalışırken oluşan hataları toplar ve kaydeder.
Bunlar aşağıdaki bölümlerde açıklanmıştır. Bu mekanizmalara ek olarak, örneğin bilgileri bir günlük kaydı e-tablosuna veya JDBC veritabanına yazan kendi günlük kaydı kodunuzu da oluşturabilirsiniz.
Apps Komut Dosyası yürütme günlüğünü kullanma
Apps Komut Dosyası'nda günlük kaydetmeyle ilgili temel yaklaşım, yerleşik yürütme günlüğünü kullanmaktır. Bu günlükleri görüntülemek için düzenleyicinin üst kısmındaki Yürütme günlüğü'nü tıklayın. Bir işlevi çalıştırdığınızda veya hata ayıklayıcıyı kullandığınızda günlükler gerçek zamanlı olarak yayınlanır.
Yerleşik yürütme günlüğünde Logger
veya console
günlük hizmetlerini kullanabilirsiniz.
Bu günlükler, geliştirme ve hata ayıklama sırasında basit kontroller için tasarlanmıştır ve çok uzun süre saklanmaz.
Örneğin, şu işlevi ele alalım:
Bu komut dosyası "2" ve "john@example.com" girişleriyle çalıştırıldığında aşağıdaki günlükler yazılır:
[16-09-12 13:50:42:193 PDT] 2. satırdaki veriler john@example.com adresine e-postayla gönderiliyor
[16-09-12 13:50:42:271 PDT] 2. satır verileri: Maliyet 103,24
Cloud Logging
Apps Komut Dosyası, Google Cloud Platform (GCP) Cloud Logging hizmetine de kısmi erişim sağlar. Birkaç gün boyunca devam eden günlük kaydı veya çok kullanıcılı bir üretim ortamı için daha karmaşık bir günlük kaydı çözümüne ihtiyacınız olduğunda Cloud Logging tercih edilir. Veri saklama ve diğer kota ayrıntıları için Cloud Logging kotaları ve sınırları başlıklı makaleyi inceleyin.
Daha fazla günlük kaydı kotasına ihtiyacınız varsa Google Cloud Platform kota isteği gönderebilirsiniz. Bunun için komut dosyanızın kullandığı Cloud Platform projesine erişiminizin olması gerekir.
Cloud Logging'i kullanma
Cloud günlükleri, Apps Komut Dosyanızla ilişkili Google Cloud projesine eklenir. Bu günlüklerin basitleştirilmiş bir sürümünü Apps Script kontrol panelinde görüntüleyebilirsiniz.
Cloud Logging'den ve özelliklerinden tam olarak yararlanmak için komut dosyası projenizle birlikte standart bir Google Cloud projesi kullanın. Bu sayede Cloud günlüklerine doğrudan GCP Console'dan erişebilir ve daha fazla görüntüleme ve filtreleme seçeneğinden yararlanabilirsiniz.
Günlüğe kaydederken kullanıcıyla ilgili kişisel bilgileri (ör. e-posta adresleri) kaydetmemek iyi bir gizlilik uygulamasıdır. Cloud günlükleri, gerektiğinde belirli bir kullanıcının günlük mesajlarını bulmak için kullanabileceğiniz etkin kullanıcı anahtarlarıyla otomatik olarak etiketlenir.
Apps Komut Dosyası console
hizmeti tarafından sağlanan işlevleri kullanarak dizeleri, biçimlendirilmiş dizeleri ve hatta JSON nesnelerini günlüğe kaydedebilirsiniz.
Aşağıdaki örnekte, Cloud Operations'ta bilgi günlüğe kaydetmek için console
hizmetinin nasıl kullanılacağı gösterilmektedir.
Etkin kullanıcı anahtarları
Geçici etkin kullanıcı anahtarları, Cloud Günlüğü girişlerinde benzersiz kullanıcıları, kullanıcıların kimliklerini göstermeden tespit etmenin kolay bir yolunu sunar. Anahtarlar komut dosyası başınadır ve kullanıcının kimliğini bir geliştiriciye (ör. bir sorun bildirirken) ifşa etmesi durumunda ek güvenlik sağlamak için yaklaşık ayda bir kez değiştirilir.
Geçici etkin kullanıcı anahtarları, e-posta adresleri gibi günlük kaydı tanımlayıcılarından daha üstündür çünkü:
- Günlüğe herhangi bir şey eklemeniz gerekmez. Bunlar zaten günlüktedir.
- Kullanıcı yetkilendirmesi gerektirmez.
- Kullanıcı gizliliğini korur.
Cloud günlük girişlerinizde geçici olarak etkin kullanıcı anahtarlarını bulmak için Google Cloud Console'da Cloud günlüklerinizi görüntüleyin. Bunu yalnızca komut dosyası projenizde erişiminiz olan bir standart Google Cloud projesi kullanılıyorsa yapabilirsiniz. Google Cloud projesini konsolda açtıktan sonra, ilgilendiğiniz bir günlük girişini seçin ve meta veriler > etiketler > script.googleapis.com/user_key öğesini görüntülemek için girişi genişletin.
Geçici etkin kullanıcı anahtarını, komut dosyanızda Session.getTemporaryActiveUserKey()
çağırarak da alabilirsiniz. Bu yöntemi kullanmanın bir yolu, komut dosyanızı çalıştıran kullanıcıya anahtarı göstermektir. Ardından kullanıcılar, ilgili günlükleri belirlemenize yardımcı olmak için sorunları bildirirken anahtarlarını eklemeyi seçebilir.
İstisna günlüğü
İstisna günlüğü, komut dosyası proje kodunuzdaki işlenmemiş istisnaları bir yığın izlemeyle birlikte Cloud Logging'e gönderir.
İstisna günlüklerini görüntülemek için aşağıdaki adımları uygulayın:
- Apps Komut Dosyası projesini açın.
- Sol tarafta Yürütmeler'i tıklayın.
- En üstte Filtre ekle > Durum'u tıklayın.
- Başarısız ve Zaman aşımı onay kutularını işaretleyin.
Komut dosyası projeniz, erişiminiz olan standart bir Google Cloud projesi kullanıyorsa GCP Console'da günlüklenen istisnaları da görüntüleyebilirsiniz.
İstisna günlüğünü etkinleştirme
İstisna günlüğe kaydetme özelliği yeni projelerde varsayılan olarak etkindir. Eski projelerde istisna günlüğünü etkinleştirmek için aşağıdaki adımları uygulayın:
- Komut dosyası projesini açın.
- Sol tarafta Proje Ayarları'nı tıklayın.
- Yakalanmayan istisnaları Cloud Operations'a kaydet onay kutusunu işaretleyin.
Error Reporting
İstisna günlüğü, komut dosyanızda oluşan hataları toplayan ve görüntüleyen Cloud Error Reporting hizmetiyle otomatik olarak entegre olur. Cloud hata raporlarınızı Google Cloud Console'da görüntüleyebilirsiniz. "Hata raporlamayı ayarlayın" istemiyle karşılaşırsanız bunun nedeni komut dosyanızın henüz herhangi bir istisna kaydetmemiş olmasıdır. İstisna günlüğünü etkinleştirme dışında herhangi bir kurulum gerekmez.
Günlük kaydı koşulları
Yerleşik yürütme günlüğünü kullanmak için herhangi bir koşul yoktur.
Cloud günlüklerinin basitleştirilmiş bir sürümünü Apps Komut Dosyası kontrol panelinde görüntüleyebilirsiniz. Ancak Cloud Logging'dan ve hata raporlamasından en iyi şekilde yararlanmak için komut dosyasının GCP projesine erişiminiz olmalıdır. Bu işlem yalnızca komut dosyası projeniz standart bir Google Cloud projesi kullanıyorsa mümkündür.