【问题标题】:log4j RollingFileAppender creates file but leaves it emptylog4j RollingFileAppender 创建文件但将其留空
【发布时间】:2015-10-28 15:51:01
【问题描述】:

我有一个 log4j.properties 文件:

log4j.logger.com.mypackage=debug, R, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=myapplication.log
log4j.appender.R.MaxFileSize=10MB
log4j.appender.R.MaxBackupIndex=10 
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

登录到标准输出工作正常,如果我将第一行中的“调试”更改为“错误”,我只会在标准输出中得到错误消息。

创建了 myapplication.log 但它是空的。如果我从第一行中删除“R”,则不会创建该文件。

将文件显示为

-rw-r--r--  1 <myname>  staff     0B Oct 28 16:26 myapplication.log

我做了一个 chmod 777 myapplication.log 但没有帮助。

我在 OS X 10.11.1 上使用 STS 3.6.4

我搜索了 google 和 stackoverflow,但到目前为止找不到解决方案。

编辑: 我换行了

log4j.logger.com.mypackage=debug, R, stdout

log4j.rootLogger=debug, R, stdout

现在消息被写入文件,但只有那些不是来自 mypackage 的消息。

【问题讨论】:

    标签: java spring log4j


    【解决方案1】:

    我将文件位置更改为

    log4j.appender.R.File=${catalina.home}/logs/myapplication.log
    

    现在我将日志消息写入文件。

    我不知道为什么会这样,但写入 myapplication.log(没有路径)只写入来自其他库的日志消息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-15
      • 2023-03-26
      • 2014-01-16
      • 1970-01-01
      • 2021-07-06
      • 2014-08-16
      • 1970-01-01
      相关资源
      最近更新 更多