如何禁用类或整个包的记录器?

Dam*_*ian 46 java apache-commons-logging

我正在使用apache.commons.logging,现在我想使用SimpleLog实现,但是当更改级别时,来自库的记录器出来了.我想把它关掉.是否有一种简单的方法来更改整个包的日志级别(可以log4j这样做)?
我试过设置

org.apache.commons.logging.simplelog.log.foo =致命

在simplelog属性文件中禁用(设置为致命可以)foo logger,但它不起作用.(foo是输出中出现的logger的名称:[INFO] foo - Message).

Are*_*rek 91

在Log4j中,您可以为由字符串标识的指定包,类或记录器指定日志记录级别.你只需在log4j.properties文件中写这个:

log4j.logger.<your package> = DEBUG|INFO|OFF|WARN...
Run Code Online (Sandbox Code Playgroud)


Dan*_*iel 17

你应该使用:

log4j.logger.foo = OFF
Run Code Online (Sandbox Code Playgroud)

请注意,"foo"不需要是包或类,而是任意String.例如,我们有一个名为"SQL"的记录器,可以从许多类中调用.

  • 关键术语是"OFF",在最高投票的答案中缺失. (2认同)

Lee*_*iam 10

如果您使用 Spring Boot,您可以OFF在 application.properties 文件中设置为。例子:

logging.level.org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer=OFF
Run Code Online (Sandbox Code Playgroud)

参考:https : //docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html#boot-features-custom-log-levels