我正在尝试以JSON格式获取日志输出。我是通过配置logback.xml文件来实现的。是否可以通过 YML文件来实现相同目标?
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.contrib.json.classic.JsonLayout">
<jsonFormatter class="ch.qos.logback.contrib.jackson.JacksonJsonFormatter">
<prettyPrint>true</prettyPrint>
</jsonFormatter>
<timestampFormat>yyyy-MM-dd' 'HH:mm:ss.SSS</timestampFormat>
</layout>
</appender>
答案 0 :(得分:0)
如果您的目标是针对不同的环境使用不同的配置,则可以使用spring的this paper
从我的 logback-spring.xml :
...
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<springProfile name="dev">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>utf8</charset>
</encoder>
</springProfile>
<springProfile name="qa,prod">
<encoder class="net.logstash.logback.encoder.LogstashEncoder"/>
</springProfile>
</appender>
...
的段落
答案 1 :(得分:0)
如上面注释中所述,不可能仅在YML文件中为Logback中的JSON布局进行配置。我的要求是从YML文件设置日志级别ERROR / INFO。我知道我们可以在Spring Boot中通过YML文件覆盖logback日志级别。对于JSON格式配置,可以使用logback.xml,而对于设置日志级别,则可以使用YML文件