我的 log4j 消息不包含类名称:
[INFO] 22:41 (?: decodeDirectory :?)
知道为什么会这样吗?
log4j.properties 读起来像这样:
log4j.rootLogger=INFO, logfile, console
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=ExifImageRA.log
log4j.appender.logfile.MaxFileSize=1MB
log4j.appender.logfile.MaxBackupIndex=1
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=[%5p] %d{mm:ss} (%F:%M:%L)%n%m%n%n
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%5p] %d{mm:ss} (%F:%M:%L)%n%m%n%n
最佳答案
看起来日志消息中实际上缺少的是源文件名 (%F) 和行号 (%L)。
根据
javac
Ant 任务:debug
属性"[i]指示是否应使用调试信息编译源代码;默认为关闭.如果设置为关闭,-g:none 将在命令行上传递...”.根据
javac
手册,如果使用javac -g编译,
。.class
文件中将省略源文件名和行号:无
因此,日志消息丢失是从 Ant 构建文件中的 javac
任务中删除 debug="true"
的直接结果。
关于java - Log4j 消息包含 (? :method:? ) 而不是类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5466594/