java – 无法更改netbeans日志记录级别

这应该不是那么复杂…更改netbeans默认日志记录级别.

尽管英语不是我的主要语言,但直到现在,我还是认为我对它有很好的理解.我读过的每篇文章都说明了这一点简单易行……但我无法改变它.默认情况下,我的netbeans开始在INFO级别进行日志记录.我想把它降到最好.

我做了一个小POC,启动了一个全新的Java应用程序:

package javaapplication16;

import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.LogManager;
import java.util.logging.Logger;

public class JavaApplication16 {

    private static final Logger logger = Logger.getLogger(JavaApplication16.class.getName());

    public static void main(String[] args) {        
        logger.log(Level.INFO, "hello!");
    }
}

它工作正常. “你好!”在netbeans输出窗口中打印.它也适用于更高级别(警告,严重).

但是,如果我将其更改为FINE(或任何其他较低级别).它没用.

我做了我在互联网上发现的一切.

我把主要改为

System.setProperty("javaapplication16.level", "100");
System.setProperty("javaapplication16.JavaApplication16", "100");
System.setProperty("java.util.logging.ConsoleHandler.level", "100");
try {
    LogManager.getLogManager().readConfiguration();
} catch (IOException | SecurityException ex) {
    logger.log(Level.SEVERE, null, ex);
}

logger.log(Level.FINE, "hello!");

更改了netbeans.conf并添加了-J-Djavaapplication16.level = 100(以及其他).在应用程序根级别创建了一个logging.properties等……无论是单独使用还是组合使用都没有.

拜托,你能帮助我,指出我做错了什么吗?

我的环境是:

Product Version: NetBeans IDE 7.2 (Build 201207171143)
Java: 1.7.0_07; Java HotSpot(TM) 64-Bit Server VM 23.3-b01
System: Mac OS X version 10.8.2 running on x86_64; US-ASCII; en_US (nb)

我发现有用的帖子,但对我没用:

> http://wiki.netbeans.org/DevFaqLogging
> Netbeans Logger
> netbeans logging tutorial
> How to logging output in console to file?

最佳答案 我遇到了同样的问题……

我的解决方案(最后)是创建一个日志配置文件:

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

并将其设置为项目运行选项:

>Project
>Properties
>Run
>VM Options: -Djava.util.logging.config.file=/home/myuser/logging.properties

请注意属性文件的绝对路径,因为我无法从正在运行的类路径中加载它(尝试默认项目文件夹,默认打包,在包中…而且没有),也许这是在您尝试时发生的加载属性文件,因为有时很难正确确定当前类路径的位置.
我基于this thread为解决方案.
Netbeans版本7.2和JDK jdk1.7.0_21.

点赞