App Engine logging.properties:自定义延迟评估日志的日期格式

时间:2017-06-10 16:07:00

标签: maven google-app-engine logging lazy-evaluation date-formatting

我有一个非常简单的代码

Logger logger = Logger.getLogger(HelloAppEngine.class.getName());
logger.log(Level.INFO, "This is now: {0}", new Date());

在(基于Maven的)Google App Engine项目中定义。

此日志的输出为

giu 10, 2017 6:03:10 PM it.log.HelloAppEngine doGet
INFO: This is now: 10/06/17 18.03

使用默认日期格式。我想用自己的方式自定义日期格式。

我真的不知道这个配置需要放在哪里,我认为可以在logging.properties文件中,但我无法找到正确的配置

哪种方法可以自定义由延迟评估的日志消息提供的日期格式?

我在java.text.MessageFormat类中找到了相关代码。 enter image description here

触发格式化Date对象

似乎没有访问外部配置以格式化日期,它使用固定的DateFormat.SHORT格式。也许有办法提供一个自定义格式化程序,它将覆盖整个实现。

1 个答案:

答案 0 :(得分:0)

  

我想用自己的方式自定义日期格式。

     

我真的不知道这个配置需要放在哪里,我认为可以在logging.properties文件中,但我无法找到正确的配置

您必须按照java.text.MessageFormat课程级别文档中的说明在日志字符串中包含日期格式。如上所述,您可以使用任何java.text.SimpleDateFormat模式。

例如,您可以使用DateFormat常量:

logger.log(Level.INFO, "This is now: {0,date,long} at {0,time,full}", new Date());

否则,您可以使用模式:

logger.log(Level.INFO, "This is now: {0,date,EEE, MMM dd HH:mm:ss:S ZZZ yyyy}", new Date());

如果您使用localization in your logging,则可以使用较短的密钥替换邮件,并在ResourceBundle中保留日期格式模式。