小编典典

从第3方jar禁止Java util日志记录

java

我从Eclipse控制台的第3方jar中获取了大量的信息日志消息。打开罐子,我看到它使用了java.util.logging。我想将其jar的输出级别设置为WARNING。

我尝试使用-Djava.util.logging.config.file = pathToMy /
JUL.properties的VM参数,其中文件的内容为:

handlers=java.util.logging.ConsoleHandler
.level=WARNING
java.util.logging.ConsoleHandler.level=WARNING

不幸的是,这并没有影响输出。

如果可以轻松完成,则我的应用程序将使用SLF4J。因此,如果有使用不同日志记录机制的简单答案,我可以切换绑定以使用它。


阅读 233

收藏
2020-11-23

共1个答案

小编典典

您是否使用JConsole确定:

  1. VM Summary选项卡显示已设置系统属性’java.util.logging.config.file’。
  2. MBean选项卡-> java.util.logging-> Operations-> getLoggerLevel为空白(无值)将返回警告。
  3. MBean选项卡-> java.util.logging-> Attributes-> LoggerNames包含活动的第三方记录器的列表,可以将其添加到要禁用的事物列表中。仅当执行代码创建记录器时,才会列出记录器。 匿名记录器未列出,但默认设置是从根记录器继承的。

您还可以添加以下代码来检查您的配置文件是否正常运行:

    public static void main(String[] arg) throws Exception {
        String p = System.getProperty("java.util.logging.config.file");
        System.out.println(p);
        System.out.println(new File(p).length());
        System.out.println(Logger.getLogger("").getLevel());
    }
2020-11-23