我将rootlogger级别设置为debug,将程序包级别设置为ERROR,但是程序包仍然将INFO和DEBUG级别记录到..这是我的日志属性..
log4j.appender.rollingFile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.rollingFile.File = C:\\appl\\logs\\appdir.log
log4j.appender.rollingFile.DatePattern = '.'yyyy-MM-dd
log4j.appender.rollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.rollingFile.layout.ConversionPattern=[%d] [%5p] [%C:%M:%L] - %m%n
log4j.rootLogger = DEBUG, rollingFile
log4j.logger.net.sf = WARN, rollingFile
log4j.logger.net.sf = ERROR, rollingFile
但我在日志文件中看到来自“net.sf”软件包的大量INFO和DEBUG消息..如何禁用此软件包日志记录?
答案 0 :(得分:1)
这可能是因为您在记录器和追加器之间添加了多个关联。子记录器继承其父级的appender,因此这更简单并表达了您的意思:
log4j.rootLogger = DEBUG, rollingFile
log4j.logger.net.sf = WARN
这会将net.sf
限制为WARN
及更高版本,并从根父级继承rollingfile
appender。