2017-04-22 1 views
1

Reading and Writing Application Logsは、Request logs vs application logsの違いについて説明しています。私はloggingをインポートし、(それは、options_logという名前なので、私はルートロガーを使用していない)ロガーをつかむのApp Engine上で動作しているmain.pyデベロッパーコンソールからGoogle App Engineのアプリケーションログを読む

は:

import logging 

log = logging.getLogger('options_log') 
log.setLevel(logging.INFO) 
... 

log.info('Hello Log!') 

私はに上の任意の情報を見つけることができませんデベロッパーコンソールでアプリケーションログを表示します。私はrequest_logactivityしか見ることができません。

enter image description here

request_logmain.pyからログイン含まれていますが、どのように私はrequest_logをアプリケーションログにログインしませんか?

答えて

2

あなただけが参照されるページ上の例のように、ちょうどloggingモジュールをインポートし、その機能を呼び出すことは十分です、ロガーオプションを設定する必要はありません。

import logging 

import webapp2 


class MainPage(webapp2.RequestHandler): 
    def get(self): 
     logging.debug('This is a debug message') 
     logging.info('This is an info message') 

あなたはまたことに注意してくださいアプリケーションログは独立して見ることができません。アプリケーションログは、生成されたログに応じて要求ログに常に添付されます。あなたは、参照ドキュメントから:

各要求のログは、その要求に関連付けられたアプリケーションログ(AppLog) のリストが含まれ、RequestLog.app_logs プロパティで返されます。各アプリログには、ログが書き込まれた時刻、ログ メッセージ、およびログレベルが含まれます。リクエストログを拡張した後の場合は

enter image description here

:あなたは、一番左のそれぞれのアプリのログ(複数可)を表示するように要求ログエントリを展開するキャレットをクリックする必要があり

Note: A request log can only hold 1000 app logs. If you add more than 1000, 
the older logs will not be retained. 

あなたはまだアプリログを見ないのですが、固有のロガーのオプションを設定しようとしたと思われます - 'options_log' 1 - が問題になります。それでもオプションを設定したい場合は、デフォルトロガー(root logger?)を指定するのではなく、そのオプションを実行してみてください。または、オプションをすべて削除します。

+0

これは私の質問に完全に答えるので、これを受け入れる。しかし、アプリケーションログが 'request_logs'でインターリーブされている場合、' sinks 'へのエクスポートを作成するために 'filters'を使ってアプリケーションログだけを抽出することはできますか? – Jack

+0

フィルタリングは正常に動作し、いくつかのアプリケーションログがフィルタに一致するたびに、それらが添付されているそれぞれの「キャリー」要求ログと共に表示されます。 –