2016-04-27 17 views
10

App Engine Classic'te ve Modül Motoru Esnek'te çalışan başka bir modülde çalışan bir modül var. App Engine Classic'te çalışan günlükleri görüntülerken, günlük girişleri her istekte yuvalanır. Ancak, App Engine Flexible'de çalışan günlükleri görüntülerken iç içe geçmezler. Her günlük girdisi, istekten bağımsız olarak görünüyor. Bu, hangi günlüğün hangi istekle ilişkilendirildiğini belirlemeyi çok zorlaştırır.Günlükleri Esnek VM'de İstekler İçinde İçermiyor

App Engine Flexible'deki günlükleri, her istekte (App Engine Classic ile olduğu gibi) iç içe yerleştirmek mümkün mü?

Bu tutarsızlığı açıklayan belgelerde hiçbir şey bulamıyorum.

+0

? Java 8, Python ... ya da özel bir Docker görüntüsü mü kullanıyorsunuz? – ozarov

+0

Özel bir çalışma zamanı kullanıyorum ('runtime: custom',' vm: true'), ancak temel resmim standart App Engine API'leriyle uyumlu olması gereken gcr.io/google_appengine/python-compat-multicore' . – speedplane

cevap

3

Artık buradaki talimatları uygulayarak App Engine Standard benzer şekilde davranan iç içe uygulama günlükleri yazabilirsiniz: Kullandığınız hangi çalışma zamanı https://cloud.google.com/logging/docs/view/service/appengine-logs#linking_application_logs_and_requests

+2

Evet, bu özelliğin açık olduğunu fark ettim, nihayet gerçekleştiğini görmekten memnun oldum. Bir yan not: Bu günlükleri görebilmek için, log görüntüleyicisindeki günlük tipi açılır menüsündeki 'app' log'larını elle seçmeniz gerekir. – speedplane

+1

Teşekkürler! Ayrıca "trace" nin ebeveyn ve onun çocuğunda (ren) aynı olması gerektiği "de" trace "ayarlanması gerektiği anlamına gelir. –

+0

Birisi bunun nasıl kullanılabileceği hakkında bir örnek verebilir. Örneğin, esnek ortam zaten "ebeveyn" günlük girdisi üretir (isteğin kendisi için). Kaynak girdisi, resource.labels ve bu ana girdinin izini, alt girdiye yaymak için nasıl alabilirim? –

4

Hayal edebileceğiniz gibi, App Engine Flexible, geleneksel App Engine'den farklı makine çeşitlerini kullanır ve bu farklı ortamlar farklı şekilde oturum açar. Maalesef, Esnek'in Klasik olarak aynı veri formatında oturum açmasını sağlamak şu anda mümkün değildir.

Bu sizin için yeterince önemliyse, her zaman doğrudan App Engine günlüğe kaydetme API'sinin bugüne kadar geçtiği nokta olan Cloud Logging API aracılığıyla oturum açabilirsiniz. Veri formatını, geleneksel App Engine girişlerine bakarak giriş yapmak için çıkabilirsiniz, ancak bunu açık bir şekilde daha açık bir şekilde belgelemek için bir özellik isteğimizi açtık.

Ayrıca, geçen bir not olarak, Stackdriver Logging (eskiden Cloud Logging) ön tarafında, kesinlikle App Engine'in özel gövdesi yerine, genel olarak log verilerinin bu tür denormalizasyonunu destekleme yollarını düşünüyoruz. Belirli bir formatta oturum açmak, bu oldukça kullanışlı işlevsellik olurdu. Ancak, bu noktada paylaşabileceğimiz belirli bir planımız veya zaman çizelgemiz yok, bunun sadece radarımızda olduğunu belirttik.

+0

Teşekkürler Ben. Bu sıradanlaştırılmış günlüklerin yalnızca bir Esnek Özel Çalışma Zamanı (örn., Çalışma zamanı: özel ', 'vm: true') kullanıldığında görünmesi doğru mu? Kullanıcılar, standart Esnek Çalışma Zamanı'nı (ör., Çalışma zamanı: python-compat', vm: true') kullanırken yuvalanmış günlükler alıyor mu? – speedplane

+0

Farklı çalışma zamanlarında, 'runtime: python'da, iç içe geçmiş günlükleri alamıyoruz. "Python-compat" hakkında hiçbir fikrim yok. – john2x

+0

Merhaba Ben, istek üzerine uygulama motoru standart günlük gruplandırması öykünmesi için günlüğe kaydetme API'sinin nasıl kullanılacağına dair bir güncelleştirme var mı? – stanm87