springboot日志文件以xml格式打印

时间:2018-02-07 11:20:33

标签: spring-boot logback

我按照以下格式获取springboot应用程序中的日志:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE log SYSTEM "logger.dtd">
<log>
<record>
  <date>2018-02-07T16:31:40</date>
  <millis>1518001300125</millis>
  <sequence>0</sequence>
  <logger>org.apache.catalina.core.StandardService</logger>
  <level>INFO</level>
  <class>org.apache.catalina.core.StandardService</class>
  <method>startInternal</method>
  <thread>1</thread>
  <message>Starting service [Tomcat]</message>
</record>
<record>

这是在application.properties中设置的属性:

logging.path=hello
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} - %msg%n

预期的记录格式为:

2018-02-07T16:31:40 1518001300348 2 org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/Hermes]> INFO org.apache.catalina.core.ApplicationContext log 13 Initializing Spring embedded WebApplicationContext

我缺少什么?

1 个答案:

答案 0 :(得分:0)

对于遇到相同问题的其他人:显然,tomcat似乎在$CATALINA_HOME/conf/logging.properties中拥有它自己的日志记录配置。但是,默认情况下,它不为日志文件指定任何配置。根据tomcats文档,JDK / JRE在$JAVA_HOME/lib/logging.properties中拥有自己的日志记录配置,如果tomcats日志记录配置文件不存在或某些属性无法解析,则可以将其用作备用。不幸的是,我找不到通过Spring配置日志记录的方法,但是我发现了一种解决方法,此thread

中对此进行了解释