0

我正在使用 java.util.logging、NetBeans IDE 和 Glassfish 服务器。

我已经加载了一个自定义日志属性文件。应用程序正在执行日志记录,但缺少日志文件。

handlers = java.util.logging.FileHandler
java.util.logging.ConsoleHandler.level = ALL
java.util.logging.FileHandler.pattern = %h/java%u.log
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.FileHandler.level = INFO
java.util.logging.ConsoleHandler.level = ALL

是我的日志文件属性,以下是加载它的代码:

Properties props = new Properties();
Logger log = Logger.getLogger(ServiceInvoker.class.getName());
log.setLevel(Level.ALL);
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
URL resource = classLoader.getResource("log.properties");
File file = new File(resource.toURI());
FileInputStream fis = new FileInputStream(file);
props.load(fis);
LogManager.getLogManager().readConfiguration(fis);

我检查了位置 C:\Users\user_name 的日志文件。当我不使用此日志记录时,我可以在 NetBeans 服务器控制台中看到日志消息,当我使用此日志记录时,控制台中没有消息,并且日志文件也丢失了!请帮忙。

4

1 回答 1

1
        ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
        InputStream is = classLoader.getResourceAsStream("log.properties");
        LogManager.getLogManager().readConfiguration(is);

是正确的代码。

于 2012-05-31T18:36:09.077 回答