log4j RollingFileAppender 创建文件但将其留空
log4j RollingFileAppender creates file but leaves it empty
我有一个 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
登录到 stdout 工作正常,如果我将第一行中的 "debug" 更改为 "error",我只会在 stdout 中收到错误消息。
myapplication.log 已创建,但它是空的。如果我从第一行删除 "R",将不会创建文件。
ll 将文件显示为
-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 和 Whosebug,但到目前为止找不到解决方案。
编辑:
我更改了行
log4j.logger.com.mypackage=debug, R, stdout
至
log4j.rootLogger=debug, R, stdout
现在消息被写入文件,但只有那些不是来自 mypackage 的消息。
我将文件位置更改为
log4j.appender.R.File=${catalina.home}/logs/myapplication.log
现在我将日志消息写入文件。
我不知道为什么会这样,但是写入 myapplication.log(没有路径)只会写入来自其他库的日志消息。
我有一个 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
登录到 stdout 工作正常,如果我将第一行中的 "debug" 更改为 "error",我只会在 stdout 中收到错误消息。
myapplication.log 已创建,但它是空的。如果我从第一行删除 "R",将不会创建文件。
ll 将文件显示为
-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 和 Whosebug,但到目前为止找不到解决方案。
编辑: 我更改了行
log4j.logger.com.mypackage=debug, R, stdout
至
log4j.rootLogger=debug, R, stdout
现在消息被写入文件,但只有那些不是来自 mypackage 的消息。
我将文件位置更改为
log4j.appender.R.File=${catalina.home}/logs/myapplication.log
现在我将日志消息写入文件。
我不知道为什么会这样,但是写入 myapplication.log(没有路径)只会写入来自其他库的日志消息。