dynamic

  <?xml version="1.0" encoding="UTF-8" ?>

- <configuration>

- <!--

log configuration

  -->

  <property name="PROJECT_NAME" value="work_manager_server" />

  <property name="LOG_BASE" value="/home/product/logs" />

  <property name="LOG_BACK_DIR" value="${LOG_BASE}/${PROJECT_NAME}_logs" />

- <!--

Log configuration for logback project

  -->

- <appender name="INFO_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">

  <file>${LOG_BACK_DIR}/info.log</file>

- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

- <!--

rollover daily

  -->

  <fileNamePattern>${LOG_BACK_DIR}/info_%d{yyyyMMddHH}.%i.log</fileNamePattern>

- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">

- <!--

or whenever the file size reaches 100MB

  -->

  <maxFileSize>256MB</maxFileSize>

  </timeBasedFileNamingAndTriggeringPolicy>

  <maxHistory>168</maxHistory>

- <!--

Keep logs for maximum number of files for 7 days

  -->

  </rollingPolicy>

- <encoder>

  <charset>UTF-8</charset>

  </encoder>

- <layout class="com.fenqile.work.common.layout.SensitiveLayout">

  <param name="Pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS}|%X{threadId}|%X{traceId}-%X{rpcId}|%level|%C|%M|%L|uid=%X{uid},requestId=%X{requestId},clientIp=%X{clientIp}|%msg|%X{callChain}%n" />

  </layout>

- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">

- <!--

just print the error log

  -->

  <level>INFO</level>

  </filter>

  </appender>

- <appender name="ERROR_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">

  <file>${LOG_BACK_DIR}/error.log</file>

- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

- <!--

rollover daily

  -->

  <fileNamePattern>${LOG_BACK_DIR}/error_%d{yyyyMMdd}.%i.log</fileNamePattern>

- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">

- <!--

or whenever the file size reaches 100MB

  -->

  <maxFileSize>256MB</maxFileSize>

  </timeBasedFileNamingAndTriggeringPolicy>

  <maxHistory>168</maxHistory>

- <!--

Maximum number of files to save

  -->

  </rollingPolicy>

- <encoder>

  <charset>UTF-8</charset>

  </encoder>

- <layout class="com.fenqile.work.common.layout.SensitiveLayout">

  <param name="Pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS}|%X{threadId}|%X{traceId}-%X{rpcId}|%level|%C|%M|%L|uid=%X{uid},requestId=%X{requestId},clientIp=%X{clientIp}|%.-512msg|%X{callChain}%n" />

  </layout>

- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">

- <!--

just print the error log

  -->

  <level>WARN</level>

  </filter>

  </appender>

- <appender name="DEBUG_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">

  <file>${LOG_BACK_DIR}/debug.log</file>

- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

- <!--

rollover daily

  -->

  <fileNamePattern>${LOG_BACK_DIR}/debug_%d{yyyyMMddHH}.%i.log</fileNamePattern>

- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">

- <!--

or whenever the file size reaches 100MB

  -->

  <maxFileSize>256MB</maxFileSize>

  </timeBasedFileNamingAndTriggeringPolicy>

  <maxHistory>7</maxHistory>

- <!--

Maximum number of files to save

  -->

  </rollingPolicy>

- <encoder>

  <charset>UTF-8</charset>

  </encoder>

- <layout class="com.fenqile.work.common.layout.SensitiveLayout">

  <param name="Pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS}|%X{threadId}|%X{traceId}-%X{rpcId}|%level|%C|%M|%L|uid=%X{uid},requestId=%X{requestId},clientIp=%X{clientIp}|%.-512msg|%X{callChain}%n" />

  </layout>

- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">

- <!--

just print the error log

  -->

  <level>TRACE</level>

  </filter>

  </appender>

- <!--

Log configurationEND of the logback project

  -->- <!--

The development environment uses the print in the console

  -->

- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">

- <layout class="ch.qos.logback.classic.PatternLayout">

  <param name="Pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS}|%X{threadId}|%X{traceId}-%X{rpcId}|%level|%C|%M|%L|uid=%X{uid},requestId=%X{requestId},clientIp=%X{clientIp}|%.-512msg|%X{callChain}%n" />

  </layout>

  </appender>

  <logger name="org.springframework" level="WARN" />

  <logger name="java.sql.Connection" level="INFO" />

  <logger name="java.sql.ResultSet" level="INFO" />

  <logger name="org.apache.zookeeper.ClientCnxn" level="WARN" />

  <logger name="org.mybatis.spring.SqlSessionUtils" level="WARN" />

- <logger name="com.alibaba.dubbo.common.logger.LoggerFactory" level="WARN">

  <appender-ref ref="ERROR_ROLLING" />

  </logger>

- <!--

The development environment is DEBUG level

  -->

- <root level="INFO">

  <appender-ref ref="INFO_ROLLING" />

  <appender-ref ref="DEBUG_ROLLING" />

  <appender-ref ref="ERROR_ROLLING" />

  <appender-ref ref="STDOUT" />

  </root>

  </configuration>

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324932108&siteId=291194637