我正在使用apache.commons.logging,现在我想使用SimpleLog实现,但是当更改级别时,来自库的记录器就会出现。我想把它关掉。 是否有一种简单的方法来更改整个包的日志级别(可以log4j这样做)? 我试过设置
org.apache.commons.logging.simplelog.log.foo =致命
在simplelog属性文件中禁用(设置为致命可以)foo logger,但它不起作用。 (foo是输出中出现的记录器名称:[INFO] foo - 消息)。
答案 0 :(得分:88)
在Log4j中,您可以为由字符串标识的指定包,类或记录器指定日志记录级别。你只需在log4j.properties文件中写这个:
log4j.logger.<your package> = DEBUG|INFO|OFF|WARN...
答案 1 :(得分:16)
您应该使用:
log4j.logger.foo = OFF
请注意,“foo”不需要是包或类,而是任意String。我们例如有一个名为“SQL”的记录器,可以从许多类中调用。
答案 2 :(得分:3)
如果使用Spring Boot,则可以在application.properties文件中设置为OFF
。例如:
logging.level.org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer=OFF
答案 3 :(得分:1)
使用Commons Logging中的SimpleLog需要两个配置文件,除非您使用的是某些系统属性。这些文件是:commons-logging.properties和simplelog.properties。 您指定的日志级别属性应放在simplelog.properties中,如:
org.apache.commons.logging.simplelog.log.foo=warn
其中“foo”是记录器名称。通常,这是包或包和类名。在以下示例中,com.stackoverflow.utils包下的所有内容都设置为 info ,而com.stackoverflow.servlet.Dispatcher专门设置为警告:
org.apache.commons.logging.simplelog.log.com.stackoverflow.utils=info
org.apache.commons.logging.simplelog.log.com.stackoverflow.servlet.Dispatcher=warn
commons-logging.properties文件应包含:
org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog