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

我的 logger 对象的创建与我的课程中可能预期的一样:

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 回答