Herhangi bir uygulama geliştirirken geliştirme aşamasındaki hataları teşhis etmeye, müşteri sorunlarını belirleyip teşhis etmeye ve diğer amaçlara yardımcı olması için bilgileri günlüğe kaydedin.
Google Apps Komut Dosyası, günlük kaydı için üç farklı mekanizma sunar:
Yerleşik Apps Komut Dosyası yürütme günlüğü Bu günlük hafiftir ve gerçek zamanlı olarak yayınlanır ancak yalnızca kısa bir süre boyunca saklanır.
Geliştirici Konsolu'ndaki Cloud Logging arayüzü. Bu arayüz, oluşturulduktan sonra uzun süre saklanan günlükler sağlar.
Geliştirici Konsolu'ndaki Error Reporting 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 oluşturun.
Apps Komut Dosyası yürütme günlüğünü kullanma
Apps Komut Dosyası'nda günlük kaydıyla 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 kullanın.
Bu günlükler geliştirme ve hata ayıklama sırasında kontroller için tasarlanmıştır ve 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] Emailing data row 2 to john@example.com
> [16-09-12 13:50:42:271 PDT] Row 2 data: Cost 103.24
Cloud Logging
Apps Komut Dosyası, Google Cloud Cloud Logging hizmetine de kısmi erişim sağlar. Birkaç gün boyunca devam eden günlük kaydı gerektiren veya çok kullanıcılı bir üretim ortamı için daha karmaşık bir günlük kaydı çözümü arıyorsanız Cloud Logging'i tercih edebilirsiniz. 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ı istemek için Google Cloud kota isteği gönderin. Bunun için komut dosyanızın kullandığı Cloud Platform projesine erişiminizin olması gerekir.
Cloud Logging, günlükleri depolamanın yanı sıra uyarılar ve metrikler gibi çeşitli hizmetler sunar. Bu hizmetler Apps Komut Dosyası'nda kullanılamaz.
Cloud Logging'i kullanma
Cloud günlükleri, Apps Komut Dosyası'nızla ilişkili Google Cloud projesine eklenir. Bu günlüklerin basitleştirilmiş bir sürümünü Apps Komut Dosyası 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 Google Cloud Console'dan erişebilir ve daha fazla görüntüleme ve filtreleme seçeneğinden yararlanabilirsiniz.
Rhino çalışma zamanını kullanıyorsanız Cloud Logging, Apps Komut Dosyası Logger hizmetini desteklemez. Bunun yerine console hizmetini kullanın.
Günlüğe kaydederken, kullanıcının e-posta adresi gibi kişisel bilgilerini 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 etkin kullanıcı anahtarları ile otomatik olarak etiketlenir.
Apps Komut Dosyası console hizmeti tarafından sağlanan işlevleri kullanarak günlük dizeleri, biçimlendirilmiş dizeler ve hatta JSON nesneleri oluşturun.
Aşağıdaki örnekte, Cloud Operations'ta bilgileri günlüğe kaydetmek için console hizmetinin nasıl kullanılacağı gösterilmektedir.
Etkin kullanıcı anahtarları
Geçici etkin kullanıcı anahtarları, bu kullanıcıların kimliklerini açığa çıkarmadan Cloud Log girişlerindeki benzersiz kullanıcıları tespit etmenin kolay bir yolunu sunar. Anahtarlar, her komut dosyası için ayrıdır ve kullanıcının kimliğini bir geliştiriciye açıklaması (ör. bir sorunu bildirirken) durumunda ek güvenlik sağlamak için yaklaşık olarak ayda bir kez değiştirilir.
Geçici etkin kullanıcı anahtarları, e-posta adresleri gibi günlük kaydı tanımlayıcılarına göre daha avantajlıdır. Bunun nedeni:
- Günlüğünüze herhangi bir şey eklemeniz gerekmez. Bu bilgiler zaten mevcuttur.
- Kullanıcı yetkilendirmesi gerektirmezler.
- Kullanıcı gizliliğini korur.
Cloud günlük girişlerinizdeki geçici etkin kullanıcı anahtarlarını bulmak için Cloud günlüklerinizi Google Cloud Console'da görüntüleyin. Bu işlemi yalnızca komut dosyası projeniz, erişiminizin olduğu bir standart Google Cloud projesi kullanıyorsa yapın. Google Cloud projesini konsolda açtıktan sonra, ilgilendiğiniz bir günlük girişini seçin ve metadata > labels > script.googleapis.com/user_key'yi görüntülemek için genişletin.
Geçici etkin kullanıcı anahtarını almak için komut dosyanızda Session.getTemporaryActiveUserKey işlevini çağırın. Bu yöntemi kullanmanın bir yolu, kullanıcı komut dosyanızı çalıştırırken 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üğü kaydı
İstisna günlüğü, komut dosyası projesi kodunuzdaki işlenmemiş istisnaları yığın iziyle 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.
- Üst kısımdan Filtre ekle > Durum'u tıklayın.
- Başarısız ve Zaman aşımına uğradı onay kutularını işaretleyin.
Komut dosyası projeniz, erişiminiz olan bir standart Google Cloud projesi kullanıyorsa kaydedilen istisnaları Google Cloud Console'da görüntüleyin.
İstisna günlük kaydını etkinleştirme
Yeni projelerde istisna günlüğe kaydetme özelliği varsayılan olarak etkindir. Daha eski projelerde istisna günlüğünü etkinleştirmek için şu adımları uygulayın:
- Senaryo 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ı toplayıp görüntüleyen bir hizmet olan Cloud Error Reporting ile otomatik olarak entegre olur. Google Cloud Console'da Cloud hata raporlarınızı görüntüleyin. Hata raporlamayı manuel olarak yapılandırmanız veya izleme girişleri oluşturmanız gerekmez. Apps Komut Dosyası, bir istisna oluştuğunda veya console.error işlevini bir Error nesnesiyle kullandığınızda gerekli alanları otomatik olarak doldurur. "Hata Raporlamayı Ayarla" 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ştirmenin dışında kurulum gerekmez.
Günlük kaydı koşulları
Yerleşik yürütme günlüğünü kullanmak için herhangi bir koşul yoktur.
Apps Komut Dosyası kontrol panelinde Cloud günlüklerinin basitleştirilmiş bir sürümünü görüntüleyin. Ancak Cloud Logging ve hata raporlamadan en iyi şekilde yararlanmak için komut dosyasının Google Cloud 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.