Play框架:记录时间

时间:2015-07-23 15:36:56

标签: scala logging playframework

我一直在使用Play框架,但很多事情,我没有遇到定义日志模板,为日志添加时间戳。 对于每分钟处理许多请求/ Akka消息的服务,这使得日志记录几乎无用。 例如,我们使用Play记录器有点像这样;

Logger.error("could not fulfil request", someException)

文档的用途如何。文档确实指出,可以定义自己的日志标题,如;

val exceptionLogger = Logger("exception")
// and then
exceptionLogger.error("while handling some/request", someException)

上述内容产生的日志条目包含任何类型的时间戳;

[error] exception - while handling some/request ...

没有提到任何时间。现在,解决方法(不是最漂亮的)就像是;

def exceptionLogger = {
    val dt = new DateTime
    Logger(s"$dt exception")
}

这项工作做了什么,但我不相信。有没有更好的方法来格式化Play的默认日志记录行为?

1 个答案:

答案 0 :(得分:6)

Play使用Logback,您可以在conf/logback.xml

中配置日志格式

log/application.log中的日志默认情况下会有STDOUT的日期戳。将%date添加到STDOUT appender中的模式。

  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%date %coloredLevel %logger{15} - %message%n%xException{10}</pattern>
    </encoder>
  </appender>