我正在使用log4j:2.13和ORMLite:5.1
我不知道如何禁用(或更改级别)ORMLite日志,而又不影响应用程序其余部分的日志级别。
ORMLite的文档声明我应该执行以下操作:log4j.logger.com.j256.ormlite=DEBUG
(source)
嗯,这似乎不起作用。我是使用log4j的新手。有人知道解决方案吗?
这是我的log4j2.properties
文件:
status = error
name = PropertiesConfig
filters = threshold
filter.threshold.type = ThresholdFilter
filter.threshold.level = debug
appenders = console
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
rootLogger.level = debug
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT
# Even if I set this to ERROR, log4j continues logging at debug level because I set it above..
log4j.logger.com.j256.ormlite.level = ERROR
无论我尝试使用哪种日志级别,似乎rootLogger.level
都具有优先权并“替代” ormlite设置。
通常,此类问题是由以下事实引起的:在类路径中有多个Log4J配置文件。使用第一个找到的配置。其他文件可能早于您的文件。
您能做什么?分析您的类路径,类路径中的所有JAR,类路径中的所有目录(如果有)。如有疑问,请在调试器中检查使用了什么配置文件。
更新
带有log4j.logger
的行不正确。如下更改(如果需要,设置其他记录器名称):
logger.ormlite.name = com.j256.ormlite
logger.ormlite.level = error