如何禁用java程序中使用的java库(jar)的记录器(打印输出)?
由于
更新:有问题的库使用java中的内置记录器类(java.util.logging.Logger
)。
答案 0 :(得分:1)
将该程序包的日志级别设置为FATAL
。这实际上不会关闭jar中的所有日志消息,但应该最小化。另请注意,如果您有多个包结构,则必须添加单独的行
log4j.logger.com.foo=FATAL
答案 1 :(得分:1)
请参阅how can i disable the default console handler, while using the java logging api ?
的答案或者,将日志级别设置为{strong> OFF
,如Javadocs中所示。引用:
此外,还有一个 OFF 级别可用于关闭日志记录,还有一个级别ALL可用于启用所有邮件的记录。
答案 2 :(得分:0)
如果您使用的是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>
这样,这些库中的所有debug
和info
都不会显示。
答案 3 :(得分:0)
除了提高日志记录级别,您可以告诉库使用NOP记录器 - 请参阅here。 NOP记录器将默认完全没有做任何你想要的东西。
编辑后确定:如果您可以告诉库它应该使用哪个记录器(如果您无法访问记录对象,我认为任何方法都不会起作用),只需制作您自己的NopLogger,即扩展使用空方法记录并覆盖所有方法