4

Google App Engine フレキシブル環境で Python を使用しているときにログを書き込もうとしています。

デフォルトの python ロギング ライブラリを使用し、ロギング用のハンドラを使用したいと考えています。これは私のコードです:

import logging
import google.cloud.logging # Don't conflict with standard logging
from google.cloud.logging.handlers import CloudLoggingHandler,setup_logging
client = google.cloud.logging.Client(app.config['PROJECT_ID'])
handler = CloudLoggingHandler(client)
# Attaches the handler to the root logger
setup_logging(handler)
logging.info("blabla")

機能しません。スタックドライバーのログでログが見つかりません。次のようなハンドラーなしでログを書き込もうとしました:

from google.cloud import logging
client = logging.Client()
logger = client.logger('log_name')
logger.log_text("blabla")

また、機能しません。

また、ログを stdout に書き込もうとしましたが、stackdriver ロギングでそれを選択するオプションがありません。

私が標準環境を使用したとき、すべてがうまくいきました..

4

1 に答える 1

1

以下を使用すると機能します。

import logging
logging.basicConfig(level=logging.DEBUG) #change this to whatever log level you want.

次に、コードで通常の appengine スタイルのログを使用できます。

logging.debug("Hello")

ログ ビューアで、GAE アプリケーションと stderr stdout を選択します。

DEBUG:root:Hello
于 2018-07-18T07:56:53.957 に答える