这应该不是那么复杂…更改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.