我似乎没有收到任何INFO级别的消息到Additions.log或Deletions.log,即使我看到日志行在调试器中执行.这是我的log4j.properties文件:
log4j.file.home=.
log4j.rootLogger=INFO, dest1
log4j.rootCategory=INFO, dest1
log4j.logger.org.hibernate=ERROR
log4j.category.dest1=INFO
log4j.appender.dest1=org.apache.log4j.ConsoleAppender
log4j.appender.dest1.layout=org.apache.log4j.PatternLayout
log4j.appender.dest1.layout.ConversionPattern=%-22d{dd/MMM/yyyy HH:mm:ss} %-8p %c [%t] - %m (%l)%n
#Log items that are being added
log4j.logger.Additions=INFO
log4j.additivity.Additions=false
log4j.appender.Additions=org.apache.log4j.RollingFileAppender
log4j.appender.Additions.File=${log4j.file.home}/Additions.log
log4j.appender.Additions.MaxFileSize=10000KB
log4j.appender.Additions.MaxBackupIndex=10
log4j.appender.Additions.layout=org.apache.log4j.PatternLayout
log4j.appender.Additions.layout.ConversionPattern=%-22d{dd/MMM/yyyy HH:mm:ss} %-8p %c [%t] - %m (%l)%n
#Log items that are being removed
log4j.logger.Deletions=INFO
log4j.additivity.Deletions=false
log4j.appender.Deletions=org.apache.log4j.RollingFileAppender
log4j.appender.Deletions.File=${log4j.file.home}/Deletions.log
log4j.appender.Deletions.MaxFileSize=10000KB
log4j.appender.Deletions.MaxBackupIndex=10
log4j.appender.Deletions.layout=org.apache.log4j.PatternLayout
log4j.appender.Deletions.layout.ConversionPattern=%-22d{dd/MMM/yyyy HH:mm:ss} %-8p %c [%t] - %m (%l)%n
Run Code Online (Sandbox Code Playgroud)
这是从课堂上获取我的记录器:
private static Logger addLog = Logger.getLogger("Additions");
private static Logger deleteLog = Logger.getLogger("Deletions");
Run Code Online (Sandbox Code Playgroud)
我还需要解决哪些问题来解决这个问题?
你把记录器与Appender混淆了.您已经定义了名为Additions和Deletions的Loggers,并且您已经定义了具有相同名称的Appender,但您需要将这两者相关联.仅仅给它们相同的名字是不够的.
我建议你将appender重命名为与Loggers不同,以避免这种混淆.然后,您需要将追加器分配给Loggers,如下所示:
log4j.logger.Additions=INFO, Additions
log4j.logger.Deletions=INFO, Deletions
Run Code Online (Sandbox Code Playgroud)
最后,我建议您考虑从属性格式转换为XML格式.在我看来,它的可读性非常高,并且显而易见的是其他所有内容以及结构是什么.
| 归档时间: |
|
| 查看次数: |
4855 次 |
| 最近记录: |