logback模板

xml配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <springProperty scope="context" name="appname" source="spring.application.name"/>
  <springProperty scope="context" name="logtag" source="server.port" defaultValue=""/>
  <!-- <include resource="org/springframework/boot/logging/logback/base.xml" /> <jmxConfigurator /> -->
  <property name="log.path" value="log"/>
  <property name="log.pattern"
            value="%X{reqid} [%d{HH:mm:ss.SSS}] %-5level %logger{200} - [%method,%line] - %msg%n"/>
  <!-- <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%X{request-id}] %-5level %logger{200} - [%method,%line]
      - %msg%n" /> -->

  <!-- 系统日志输出 -->
  <appender name="file_info_test" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${log.path}/abb.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <!-- 按天回滚 daily -->
      <fileNamePattern>${log.path}/bakk.%d{yyyy-MM-dd}.log
      </fileNamePattern>
      <!-- 日志最大的历史 7天 -->
      <maxHistory>7</maxHistory>
    </rollingPolicy>
    <encoder>
      <pattern>${log.pattern}</pattern>
    </encoder>
  </appender>

  <!-- 系统日志输出 -->
  <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${log.path}/app${logtag}.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <!-- 按天回滚 daily -->
      <fileNamePattern>${log.path}/bak${logtag}.%d{yyyy-MM-dd}.log
      </fileNamePattern>
      <!-- 日志最大的历史 60天 -->
      <maxHistory>7</maxHistory>
    </rollingPolicy>
    <!-- <encoder> <pattern>${log.pattern}</pattern> </encoder> -->
    <encoder charset="UTF-8"
             class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
      <providers>
        <pattern>
          <pattern>
            {
            "appname":"${appname}",
            "path": "%X{path}",
            "reqid": "%X{reqid}",
            "uid": "%X{uid}",
            "comid": "%X{comid}",
            "time": "%date{yyyy-MM-dd HH:mm:ss.SSS}",
            "level": "%level",
            "pid": "${PID:-}",
            "class":
            "%logger",
            "method":"%method",
            "message":"%message",
            "stack_trace": "%exception"
            }
          </pattern>
        </pattern>
      </providers>
    </encoder>
  </appender>

  <!-- 显示sql、使用的参数、结果集 -->
  <logger name="java.sql" level="debug"/>
  <logger name="org" level="error"/>
  <logger name="io.netty" level="error"/>
  <logger name="io.lettuce" level="error"/>
  <logger name="com.alibaba" level="error"/>
  <logger name="com.baomidou.mybatisplus" level="error"/>
  <logger name="springfox" level="error"/>
  <logger name="com.github" level="error"/>
  <springProfile name="dev">
    <!-- 控制台输出 -->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
      <encoder>
        <pattern>${log.pattern}</pattern>
      </encoder>
    </appender>
    <root level="debug">
      <appender-ref ref="console"/>
    </root>
  </springProfile>
  <springProfile name="test | sit | pre">
    <!-- 开发时不用打这些日志 -->
    <root level="info">
      <appender-ref ref="file_info_test"/>
    </root>
  </springProfile>

  <springProfile name="pro | demo | demo2 | iwip">
    <root level="info">
      <appender-ref ref="file_info"/>
    </root>
  </springProfile>
</configuration>

pom依赖

        <dependency>
            <groupId>net.logstash.logback</groupId>
            <artifactId>logstash-logback-encoder</artifactId>
            <version>6.6</version>
        </dependency>

 

posted @ 2025-08-07 17:49  wujf  阅读(8)  评论(0)    收藏  举报