java - 如何使用 java.util.logging 包更改 java 中的日志记录格式?
问题描述
我想以以下格式将日志存储在文件中: [date time]: Log msg 。并且在使用 java.util.logging 时,还禁止出现在每条日志消息之后的日期行。链接(java.util.logging: how to suppress date line)说我必须覆盖 logging.properties 文件,但我无法在我的 Mac 上找到这个文件。另外,如果我在 src/res 文件夹中创建新的 logging.properties 文件,那么如何在我的 java 代码中链接相同的文件?我用来在文件中写入日志的代码(但采用相同的旧格式)是:
public static void main(String[] args) {
Logger logger = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME);
FileHandler fh;
try {
// This block configure the logger with handler and formatter
fh = new FileHandler("C:/temp/test/MyLogFile.log");
logger.addHandler(fh);
SimpleFormatter formatter = new SimpleFormatter();
fh.setFormatter(formatter);
// the following statement is used to log any messages
logger.info("My first log");
} catch (SecurityException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
logger.info("Hi How r u?");
}
解决方案
推荐阅读
- pandas - 使用熊猫导入excel文件时出现内存错误
- swift - Textview 只显示最后一个查询项 - MacOS App
- c# - 在 VB6 中从 Form1 调用 Form2 使用实例问题
- python - 将变量从一个 python 脚本导入另一个不起作用
- c# - 如何在 vs 中使用 c# 在 WPF 托管页面上插入属性?
- authentication - 如何使用 Nuxt 和 nuxt-auth 模块验证多个 api
- r - R cut 功能 - 中断在哪里开始和结束?
- terraform - gitlab-ci:Terraform 没有名为“sh”的命令。您指的是 “show”
- python - 修正单纯形法进入死循环
- angularjs - 为什么赛普拉斯不选中复选框?