我正在使用java.util.logging,NetBeans IDE和Glassfish Server。
我已经加载了自定义日志属性文件。应用程序正在执行日志记录,但缺少日志文件。
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服务器控制台中看到日志消息,当我使用此日志记录时,控制台中没有消息,并且缺少日志文件!请帮忙。
答案 0 :(得分:1)
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream is = classLoader.getResourceAsStream("log.properties");
LogManager.getLogManager().readConfiguration(is);
是正确的代码。