java - java.util.logging 不会记录到文件
问题描述
我正在努力java.util.logging
登录到文件,而不仅仅是 Eclipse 中的控制台。
public class TestDefaultConfiguration {
private static Logger logger = Logger.getLogger(TestDefaultConfiguration.class.getName());
public static void main(String[] args) {
System.out.println("-- main method starts --");
logger.info("an info msg");
logger.warning("a warning msg!");
logger.severe("a severe msg!");
}
}
以下是属性:
C:\Program Files\Java\jre1.8.0_152\lib\logging.properties
我将默认属性文件编辑为:
.level= INFO
# default file output is in user's home directory.
#java.util.logging.FileHandler.pattern = %h/java%u.log
java.util.logging.FileHandler.pattern = C:/temp/test/MyLogFile2.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
#java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
当我调试测试类时,我可以看到logger.manager.props
这些属性被拾取。到目前为止,一切都很好。
那么为什么没有创建日志文件C:/temp/test/MyLogFile2.log
呢?
不确定我是否应该在 Eclipse 配置 VM 参数中添加:
-Djava.util.logging.config.file="C:/Program Files/Java/jre1.8.0_152/lib/logging.properties"
但如果我这样做了,那并没有什么不同。
有什么建议么?
解决方案
从您的 logging.properties 中,您没有显示将处理程序附加到记录器的部分。这在文件中作为注释进行了解释
# "handlers" specifies a comma separated list of log Handler
# classes. These handlers will be installed during VM startup.
# Note that these classes must be on the system classpath.
# By default we only configure a ConsoleHandler, which will only
# show messages at the INFO and above levels.
handlers= java.util.logging.ConsoleHandler
# To also add the FileHandler, use the following line instead.
#handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler
使用记录器调试代码查看处理程序是否附加到根记录器。
将以下行添加到您的属性文件中:
handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler
推荐阅读
- javascript - 获取所有可能的数组组合
- c++ - 纯数据结构的组合与继承
- javascript - 从 HTML 输入字段创建随机 javascript 数组
- java - 创建名称为“repositorySearchController”和可分页数据的 bean 时出错
- reactjs - 在 React Particles JS 中看不到图像
- node.js - 将 Node/MongoDB Atlas 应用程序部署到 Heroku - Heroku 无法连接到 Mongo 集群
- sql - 获取从 x% 到 y% 所需的平均时间 (SQL)
- python - 在 python pandas 中使用 read_csv 忽略回车符(u1000D)
- python - 将字典传递给具有解包参数的函数
- sql - Oracle过程从查询结果中插入多行