记录在.jar java库中

时间:2011-02-16 21:43:50

标签: java jar logging

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

由于

更新:有问题的库使用java中的内置记录器类(java.util.logging.Logger)。

4 个答案:

答案 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,最简单的方法是将该特定库的日志记录级别提高为warnerror

例如,如果您不希望所有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>

这样,这些库中的所有debuginfo都不会显示。

答案 3 :(得分:0)

除了提高日志记录级别,您可以告诉库使用NOP记录器 - 请参阅here。 NOP记录器将默认完全没有做任何你想要的东西。

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