【问题标题】:Why don't my log messages appear in log files?为什么我的日志消息没有出现在日志文件中?
【发布时间】:2017-06-30 10:45:10
【问题描述】:

我使用 Log4J 来记录应用程序运行时进程。 这是我的 log4j.properties 文件:

log4j.rootLogger=INFO, DailyRollingFile
log4j.appender.DailyRollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DailyRollingFile.File=${CATALINA_HOME}/logs/fnservice.log
log4j.appender.DailyRollingFile.append = true
log4j.appender.DailyRollingFile.DatePattern='.'yyyy-MM-dd
log4j.appender.DailyRollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.DailyRollingFile.layout.ConversionPattern=%d{HH:mm:ss} %-5p %t %c{1} %M:%L - %m%n'

我已经在 Tomcat 上部署了应用程序并调用了一些它的方法来获取日志消息。在这些操作之后,进入 ${CATALINA_HOME}/logs 文件夹,我得到了一些 .log 文件:

  1. catalina.2017-02-12.log; (没有我的应用消息)
  2. catalina.out; (没有我的应用消息)
  3. 主机管理器.2017-02-12.log; (雇佣)
  4. localhost.2017-02-12.log; (没有我的应用消息)
  5. localhost_access_log.2017-02-11.txt; (没有我的应用消息)
  6. manager.2017-02-11.log。 (空)

在我的应用程序中,我将记录器设为:

//the code inside the MyClass class
Logger LOG = Logger.getLogger(MyClass.class);

我还尝试使用 INFO 和 ERROR 级别记录消息。

因此,我得到了列出的文件,但没有人包含我的日志消息。而且好像滚动也行不通。

【问题讨论】:

  • 我通过将 log4j.properties 中的一行替换为 log4j.appender.DailyRollingFile.File=${catalina.home}/logs/fnservice.log 解决了这个问题但我还有另一个问题:如果我在 WebSphere 上部署我的应用程序,有必要修复 log4j.properties 文件。如何将我的 log4j 设置为独立于平台?谢谢。

标签: java logging log4j


【解决方案1】:

我通过在我的log4j.properties 中交换一行来解决问题

log4j.appender.DailyRollingFile.File=${catalina.home}/logs/f‌​nservice.log

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-04
    • 2023-01-17
    • 1970-01-01
    • 2020-09-26
    • 2019-02-04
    • 1970-01-01
    相关资源
    最近更新 更多