2

最初のアプリを CloudFoundry にデプロイしたばかりで、log4j を使用しています。アプリをローカルの tomcat サーバーにデプロイすると、ログは正常に出力されます。しかし、「vmc logs」コマンドを使用して CloudFoundry のインスタンスからログを取得すると、Tomcat の初期化ログと次のメッセージしか取得できません。

log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

log4jで印刷したものはすべて表示されません。System.out.println メッセージは表示されますが、log4j メッセージは表示されません。

log4j.properties ファイルを WEB-INF ディレクトリに配置しました。その内容は次のとおりです。

# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=INFO, A1
# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-5p %-35c{1} %m%n
log4j.logger.org.springframework=WARN

おそらく私のクラスで期待されるように、私のロガーオブジェクトが作成されます。

private static Logger log = Logger.getLogger(MyClass.class);

log4j ログを CloudFoundry ログに表示するために欠落している構成に関する提案はありますか? または、それらを間違って取得していますか?

4

1 に答える 1

3

Log4j はデフォルトで STDOUT に出力するように設定されていますか? 「vmc logs」は、STDOUT、STDERR、およびステージング ログ ファイルの内容のみを返します。

アプリが別のファイルにログを記録している場合は、「vmc ファイル」を使用してコンテンツを表示します。

于 2013-02-21T19:30:45.860 に答える