51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

springboot输出json日志

# springboot 输出 json 日志 {#springboot-输出-json-日志}

本文讲述 springboot 项目如何打印 json 格式的日志。传统的日志并不是 json 格式, 但是 json 数据方便做各种数据处理,所以我们可能期望将日志输出为 json 格式。

# 1. 引入依赖 {#_1-引入依赖}

//    支持json日志输出
    compile 'net.logstash.logback:logstash-logback-encoder:6.2'

# 2. 修改日志配置文件 {#_2-修改日志配置文件}

修改日志配置文件, 如 logging-config-dev.xml
修改 appender 下原有的 encoder 定义,如下:

<encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
            <jsonGeneratorDecorator class="net.logstash.logback.decorate.FeatureJsonGeneratorDecorator"/>
            <providers>
                <pattern>
                    <pattern>
                        {
                        "date": "%date{yyyy-MM-dd HH:mm:ss}",
                        "level": "%level",
                        "msg": "%msg"
                        }
                    </pattern>
                </pattern>
            </providers>
</encoder>

# 3. 查看日志 {#_3-查看日志}

查询输出的日志格式如下:

{"date":"2020-08-20 10:21:09","level":"DEBUG","msg":"Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@a40aeb9]"}
{"date":"2020-08-20 10:21:09","level":"DEBUG","msg":"Returning JDBC Connection to DataSource"}
{"date":"2020-08-20 10:21:09","level":"INFO","msg":"分页查询企业列表, 完成, pageCompanyDto[PageCompanyDto(id=null, nameLike=null, cityLike=null, userId=null, userCountMin=null, userCountMax=null, noteLike=null, enableStatus=null, pageNo=1, pageSize=10)]"}

提示

目前 msg 属性的取值没有进一步以 json 格式显示, 待日后完善。

赞(3)
未经允许不得转载:工具盒子 » springboot输出json日志