Java FileHandler使用24小时的时间

时间:2012-11-09 17:55:02

标签: java filehandler

我设置了FileHandler:

Logger logger = Logger.getLogger(this.class.getName());
FileHandler handler = new FileHandler(myFile, true);
handler.setFormatter(new SimpleFormatter());
logger.addHandler(handler);
logger.setUseParentHandlers(false);

但是我的服务器是UTC,所以在我的日志文件中,时间戳看起来像:Nov 9, 2012 5:12:17 PM

这很难理解,所以我想知道是否可能

1)要将此转换为24小时,所以至少我会看到17:12:17而不是5:12:17PM 2)改为使用不同的时区

我认为这可能与我如何设置格式化程序有关,但我只是不知道如何。

谢谢!

2 个答案:

答案 0 :(得分:0)

我建议您阅读SimpleFormatter.format()的javadoc,您可以通过application logging configuration file中的java.util.logging.SimpleFormatter.format属性指定自己的格式。

默认属性文件是< Java home> \ _jre7 \ lib \ logging.properties。将其复制并放在任何地方。

Java Logging Overview也很好读。

以下代码

System.setProperty(
   "java.util.logging.SimpleFormatter.format", "%4$s: %5$s [%1$tc]%n" );
Logger l = Logger.getLogger("");
l.warning( "Hello" );

输出

WARNING: Hello [ven. nov. 09 20:26:30 CET 2012]

答案 1 :(得分:0)

我能够通过使用我找到的示例创建自己的格式化程序来实现它:

Custom logger formatter