.jar java库中的记录器

.jar java库中的记录器,java,jar,logging,Java,Jar,Logging,如何禁用java程序中使用的java库(jar)的记录器(打印输出) 谢谢 更新:相关库使用java中的内置logger类(java.util.logging.logger)。将该包的日志级别设置为致命。这实际上不会关闭jar中的所有日志消息,但应该将其最小化。还要注意的是,如果有多个包结构,则必须添加单独的行 log4j.logger.com.foo=FATAL 如果您使用的是log4j,最简单的方法是增加特定库的日志记录级别,例如,warn或error 例如,如果您不希望所有Apache

如何禁用java程序中使用的java库(jar)的记录器(打印输出)

谢谢


更新:相关库使用java中的内置logger类(
java.util.logging.logger
)。

将该包的日志级别设置为
致命
。这实际上不会关闭jar中的所有日志消息,但应该将其最小化。还要注意的是,如果有多个包结构,则必须添加单独的行

log4j.logger.com.foo=FATAL

如果您使用的是log4j,最简单的方法是增加特定库的日志记录级别,例如,
warn
error

例如,如果您不希望所有Apache API、Spring API和Hibernate API将日志文件弄乱,可以执行以下操作:-

<logger name="org.apache">
    <level value="warn" />
</logger>

<logger name="org.springframework">
    <level value="warn" />
</logger>

<logger name="org.hibernate">
    <level value="warn" />
</logger>


这样,这些库中的所有
调试
信息
将完全不显示。

除了增加日志记录级别之外,您可以告诉库使用NOP记录器-请参阅。NOP记录器将默认为完全不做任何事情,这正是您想要的

编辑后确定:如果您可以告诉库它应该使用哪个记录器(如果您无法访问日志对象,我认为任何方法都不会起作用),只需创建自己的NopLogger,即扩展记录器并用空方法覆盖所有方法,

请参阅

或者,如for log level中所示,将日志记录级别设置为关闭。引述:

此外,还有一个级别OFF,可用于关闭日志记录,还有一个级别ALL,可用于启用所有消息的日志记录


所讨论的库使用内置记录器,而不是java log4j库。。。无论如何,感谢您的想法,这个库使用的是内置的记录器,而不是java log4j库。。。无论如何,谢谢你的主意