| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- <?xml version="1.0" encoding="UTF-8"?>
- <configuration scan="true">
- <springProperty scope="context" name="application_name" source="spring.application.name" defaultValue="server"/>
- <!-- 输出日志到控制台 ConsoleAppender -->
- <appender name="ConsoleAppender" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <!--<pattern>%d %p (%file:%line\)- %m%n</pattern>-->
- <!--格式化输出:%d:表示日期 %thread:表示线程名 %-5level:级别从左显示5个字符宽度 %msg:日志消息 %n:是换行符-->
- <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger - %msg%n</pattern>
- <charset>UTF-8</charset>
- </encoder>
- </appender>
- <appender name="SystemOutFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- 归档的日志文件的路径。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
- <fileNamePattern>logs/${application_name}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
- <!-- 除按日志记录之外,还配置了日志文件不能超过200M,若超过200M,日志文件会以索引0开始 -->
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
- <maxFileSize>200MB</maxFileSize>
- </timeBasedFileNamingAndTriggeringPolicy>
- </rollingPolicy>
- <!-- 追加方式记录日志 -->
- <append>true</append>
- <!-- 日志文件的格式 -->
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger Line:%-3L - %msg%n</pattern>
- <charset>utf-8</charset>
- </encoder>
- </appender>
- <appender name="ErrOutFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>logs/${application_name}-%d{yyyy-MM-dd}-error.%i.log</fileNamePattern>
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
- <maxFileSize>200MB</maxFileSize>
- </timeBasedFileNamingAndTriggeringPolicy>
- </rollingPolicy>
- <!-- 追加方式记录日志 -->
- <append>true</append>
- <!-- 日志文件的格式 -->
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger Line:%-3L - %msg%n</pattern>
- <charset>utf-8</charset>
- </encoder>
- <!-- 此日志文件记录error及以上级别的 -->
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>ERROR</level>
- </filter>
- </appender>
- <!--这个logger的设置是:举例在org.springframework包下面的所有输出日志必须级别level在info及以上级别才会被输出!-->
- <!--这样可以避免输出一些spring框架的许多常见debug信息!-->
- <logger name="org.springframework" level="info" />
- <logger name="org.json" level="error"/>
- <logger name="io.netty" level="info"/>
- <logger name="org.slf4j" level="info"/>
- <logger name="ch.qos.logback" level="info"/>
- <logger name="org.apache.kafka.clients" level="info"/>
- <!-- 生产环境配置 -->
- <springProfile name="prod">
- <root level="INFO">
- <appender-ref ref="ConsoleAppender"/>
- <appender-ref ref="SystemOutFileAppender"/>
- <appender-ref ref="ErrOutFileAppender"/>
- </root>
- </springProfile>
- <!-- 开发环境配置 -->
- <springProfile name="dev">
- <root level="INFO">
- <appender-ref ref="ConsoleAppender"/>
- <appender-ref ref="SystemOutFileAppender"/>
- <appender-ref ref="ErrOutFileAppender"/>
- </root>
- </springProfile>
- </configuration>
|