micronaut 框架是否支持将日志配置为 json?

问题描述

我正在尝试配置 micronaut 应用程序以生成 json 格式的日志。我找到了配置底层 logback 的方法来做到这一点 ([1]),但我想知道是否也可以通过 Micronaut 的配置来完成。

[1] - https://mathieularose.com/logback-json/

解决方法

micronaut 框架是否支持将日志配置为 json?

是的。

查看位于 https://github.com/jeffbrown/miguelferreirajsonlogback 的项目。

https://github.com/jeffbrown/miguelferreirajsonlogback/blob/f3e0e6074cfa5724ac4bce5da05e90d8435893a4/build.gradle#L27

runtimeOnly("ch.qos.logback.contrib:logback-json-classic:0.1.5")

https://github.com/jeffbrown/miguelferreirajsonlogback/blob/f3e0e6074cfa5724ac4bce5da05e90d8435893a4/src/main/resources/logback.xml

<configuration>

    <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>


    <root level="info">
        <appender-ref ref="STDOUT" />
    </root>

</configuration>