云铸造-Log4j日志在部署到CloudFoundry时被隐藏或吞噬



我刚刚将我的第一个应用程序部署到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日志中,有什么建议吗?或者我检索错误了?

Log4j是否默认设置为输出到STDOUT?'vmc-logs’将只返回STDOUT、STDERR和暂存日志文件的内容。

如果您的应用程序正在登录到另一个文件,请使用"vmc文件"查看内容。