SimpleFormatter dd.mm.yyyy HH:mm:ss

时间:2017-08-24 14:03:15

标签: java logging

我想改变日志的外观(java.util.logging.Logger),我发现了这个:

System.setProperty("java.util.logging.SimpleFormatter.format","[%1$tF %1$tT] [%4$-7s] %5$s %n");

所以我的日志条目现在看起来像这样:

[2017-08-24 15:55:40] [INFORMATION] Hello World!

我想将格式设置为以下内容:

[24.08.2017 15:55:40]

我已经尝试了这么久,不应该那么难。有人可以帮我或给我一些好的和简单的文件/例子吗?

2 个答案:

答案 0 :(得分:3)

来自文档Class Formatter

而不是:

[%1$tF %1$tT]

您可以使用:

[%1$te.%1$tm.%1$tY %1$tT]

您可以在此示例中看到结果:

Calendar c = Calendar.getInstance();
String example = String.format("[%1$te.%1$tm.%1$tY %1$tT]", c);
System.out.println(example);

输出

[24.08.2017 15:19:30]

答案 1 :(得分:1)

  

我一直在努力,不应该那么难。

SimpleFormatter.format is a static property that is set at class loading time.如果在加载java.util.logging.SimpleFormatter类之前完成,则只能使用System.setProperty来更改格式。相反,您应修改logging.properties或修改启动脚本以在JVM启动期间设置属性。

如果格式中存在错误,则行为只是使用默认格式。这使得调试变得困难,因为你无法区分错误或者没有正确设置属性。

最好的办法是使用YCF_L之类的测试程序,然后将格式应用于启动脚本。