我的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
答案 0 :(得分:1)
看起来日志消息中实际缺少的是源文件名(%F)和行号(%L)。
根据javac
Ant任务:debug
属性“[i]指定是否应使用调试信息编译源;默认为关闭。如果设置为off, -g:none将在命令行上传递...“。
根据javac
手册,如果使用.class
进行编译,则会从javac -g:none
文件中省略源文件名和行号。
因此,您的日志消息丢失是从Ant构建文件中的debug="true"
任务中删除javac
的直接后果。