背景: アプリケーションmvn gcloud:deploy
をGoogle フレキシブル環境にデプロイしていますが、ウェブサイトがオンラインになっていることがわかりません。サーバーの起動時に何が起こっているのかを知りたいので、ログ メッセージを確認しようとしています。
このドキュメントによると、ログメッセージを JSON 形式で送信する必要があります。
{
"eventTime": string,
"serviceContext": { // Required.
"service": string,
"version": string
},
"message": string, // Required.
// ...
}
アペンダーを次のように構成しました。
log4j.rootLogger=TRACE, consoleAppender, fileAppender, appEngineAppender, appEngineAppender2
log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender
log4j.appender.consoleAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.consoleAppender.layout.ConversionPattern=[%t] %-5p %c %x- %m%n
log4j.appender.fileAppender=org.apache.log4j.RollingFileAppender
log4j.appender.fileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.fileAppender.layout.ConversionPattern=[%t] %-5p %c %x- %m%n
log4j.appender.fileAppender.File=mz-web-server.log
# Google Cloud Logging
log4j.appender.appEngineAppender=org.apache.log4j.RollingFileAppender
log4j.appender.appEngineAppender.layout=com.mz.server.AppEngineAppenderLayout
log4j.appender.appEngineAppender.File=/var/log/app_engine/custom_logs/err_mz-web-server.json
log4j.appender.appEngineAppender.Threshold=DEBUG
log4j.appender.appEngineAppender2=org.apache.log4j.RollingFileAppender
log4j.appender.appEngineAppender2.layout=com.mz.server.AppEngineAppenderLayout
log4j.appender.appEngineAppender2.File=err_mz-web-server.json
log4j.appender.appEngineAppender2.Threshold=DEBUG
# Mz
log4j.logger.com.mz=debug
# Spring Framework
log4j.logger.org.springframework=warn
# jOOQ prints to stdout - have do redirect that somehow
log4j.logger.org.jooq=warn
# FlywayDB
log4j.logger.org.flywaydb=warn
# ehcache
log4j.logger.net.sf.ehcache=warn
err_mz-web-server.json は次のようになります。
{"eventTime":"2016-06-05, 12:01:13","serviceContext":{"service":"[mz-server]","version":"v0.1"},"message":"Server booting up. Time: UTC 2016-06-05T12:01:13.406Z"}
{"eventTime":"2016-06-05, 12:01:13","serviceContext":{"service":"[mz-server]","version":"v0.1"},"message":"Joda Time default Timezone: UTC"}
{"eventTime":"2016-06-05, 12:01:13","serviceContext":{"service":"[mz-server]","version":"v0.1"},"message":"Running database migration ..."}
{"eventTime":"2016-06-05, 12:01:13","serviceContext":{"service":"[mz-server]","version":"v0.1"},"message":"Executing migration .."}
{"eventTime":"2016-06-05, 12:01:14","serviceContext":{"service":"[mz-server]","version":"v0.1"},"message":"Not migration required."}
{"eventTime":"2016-06-05, 12:01:14","serviceContext":{"service":"[mz-server]","version":"v0.1"},"message":"Database migration done."}
{"eventTime":"2016-06-05, 12:01:14","serviceContext":{"service":"[mz-server]","version":"v0.1"},"message":"Initialization done."}
{"eventTime":"2016-06-05, 12:01:14","serviceContext":{"service":"[mz-server]","version":"v0.1"},"message":"Unhandled event"}
{"eventTime":"2016-06-05, 12:01:14","serviceContext":{"service":"[mz-server]","version":"v0.1"},"message":"Unhandled event"}
ただし、ここで説明されているように、 https://console.cloud.google.com/errors?time=P1D&refresh=off&order= 1 にエラーが記録されていません。
アップデート:
ファイルが存在するかどうかを確認しましたが、ディレクトリ/var/log/app_engine/custom_logs/
が作成されていないようです:
user@gae-default-20160605t144407-u28j:/var/log/app_engine$ ls -la
total 16
drwxrwxrwx 4 root root 4096 May 26 21:55 .
drwxr-xr-x 14 root root 4096 Jun 5 12:48 ..
drwxrwxrwx 3 root root 4096 May 26 21:55 app
drwxr-xr-x 2 root root 4096 May 26 21:55 monitoring