错误报告
有一个关于此的错误报告Logback 的 JIRA 页面 http://jira.qos.ch/browse/LOGBACK-262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel。此后并没有太大的发展24/Feb/10 3:57 PM
。我只是为了吸引注意力而投票。你也应该。
我会提供我自己的匹配的日期格式ISO 8601 https://en.wikipedia.org/wiki/ISO_8601's.
插入“T”
这应该可以解决问题:
<pattern>%d{"yyyy-MM-dd'T'HH:mm:ss,SSS"} [%thread] %-5level %logger{35} - %msg %n
</pattern>
The ""
需要使,
按照中所述进行工作文档 http://logback.qos.ch/manual/layouts.html.
That <pattern>
元素属于您的 Logback 配置设置。这是一个例子logback.xml
file:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<!-- Strangely, Logback lacks a built-in formatter for ISO 8601. So, roll our own. -->
<Pattern>%date{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX", UTC} [%thread] %-5level %logger{36} - %msg%n</Pattern>
</layout>
</appender>
<logger name="com.example" level="TRACE"/>
<root level="debug">
<appender-ref ref="STDOUT" />
</root>
</configuration>
时区
为了更全面地符合 ISO 8601 并获得更有用的日志记录,您应该包含时区。
编辑(Michael-O,2014-06-15):那就是not是的,时区是绝对可选的。
要包含时区,请传递第二个参数 (see doc http://logback.qos.ch/manual/layouts.html#date)到%date
。通过时区的专有名称 http://en.wikipedia.org/wiki/List_of_tz_database_time_zones。避免使用三或四个字母的时区代码,例如“EST”,因为它们既不唯一也不标准化。例如,通过Australia/Perth
。通常对于我们想要的日志记录UTC http://en.wikipedia.org/wiki/Coordinated_Universal_Time(GMT) 时间,意思是没有任何偏移。在这种情况下,通过UTC
.
您可以将时区偏移显示为小时数和分钟数,作为日志中日期时间的一部分。附加一个X
将时区偏移量显示为日期时间值的一部分。
This…
%date{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX", UTC}
…产生…
2014-04-16T09:59:24,009Z
The XXX
适用于 Java 7 和 8。在早期版本的 Java 中,您可以使用Z
在格式定义中生成缺少冒号的偏移量。