需求:
公司为了给某个项目统一的日志信息,要求其其它所有项目把被请求的地址相关信息,单独输出到某些日志中,,原来的日志格式还不能变,但是新的日志格式和原来的日志格式不一样呀,我的大哥
以前都没有管过日志的配置,现在这个事情让我做,一脸懵逼,但是活还得干!!!!
网上到处搜找不到答案,看原来的日志以及debug到logback源码中找到的解决答案
其实很简单,真的,我这里只是详细列出具体解决方式,如果需要具体了解logback中各个配置的含义,移步这篇文章Java日志框架:logback详解
解决方式如下:
原来的logback.xml 格式如下
<?xml version="1.0" encoding="UTF-8" ?>
<configuration scan="true" scanPeriod="60 seconds" >
<!-- 控制台 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>[${server-name}] %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level [%logger] %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<!-- 所有日志(debug级别) -->
<appender name="FILE_DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 按天回滚 daily -->
<fileNamePattern>/home/app/logs/${server-name}-debug-%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>30</maxHistory>