149 lines
5.9 KiB
XML
149 lines
5.9 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<configuration scan="true" scanPeriod="10 seconds">
|
||
|
||
<!-- 自定义属性 -->
|
||
<springProperty scope="context" name="fluentdHost" source="logging.fluentd.host" defaultValue="localhost"/>
|
||
<springProperty scope="context" name="fluentdPort" source="logging.fluentd.port" defaultValue="24224"/>
|
||
<springProperty scope="context" name="topic" source="spring.application.name" defaultValue="default"/>
|
||
|
||
<!-- log路径 -->
|
||
<property name="log.path" value="logs/${topic}"/>
|
||
|
||
<!--控制台日志格式:彩色日志-->
|
||
<!-- magenta:洋红 -->
|
||
<!-- boldMagenta:粗红-->
|
||
<!-- cyan:青色 -->
|
||
<!-- white:白色 -->
|
||
<!-- magenta:洋红 -->
|
||
<property name="CONSOLE_LOG_PATTERN"
|
||
value="%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%blue(%thread) |%blue(%file:%line) |%green(%logger) |%cyan(%msg%n)"/>
|
||
|
||
<!--文件日志格式-->
|
||
<property name="FILE_LOG_PATTERN"
|
||
value="%date{yyyy-MM-dd HH:mm:ss} |%-5level |%thread |%file:%line |%logger |%msg%n"/>
|
||
|
||
<!--编码-->
|
||
<property name="ENCODING"
|
||
value="UTF-8"/>
|
||
|
||
<!--输出到控制台-->
|
||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||
<!--日志级别-->
|
||
<level>DEBUG</level>
|
||
</filter>
|
||
<encoder>
|
||
<!--日志格式-->
|
||
<Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
|
||
<!--日志字符集-->
|
||
<charset>${ENCODING}</charset>
|
||
</encoder>
|
||
</appender>
|
||
|
||
<!--输出到文件-->
|
||
<appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||
<!--日志过滤器:此日志文件只记录INFO级别的-->
|
||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||
<level>INFO</level>
|
||
<onMatch>ACCEPT</onMatch>
|
||
<onMismatch>DENY</onMismatch>
|
||
</filter>
|
||
<!-- 正在记录的日志文件的路径及文件名 -->
|
||
<file>${log.path}/log_info.log</file>
|
||
<encoder>
|
||
<pattern>${FILE_LOG_PATTERN}</pattern>
|
||
<charset>${ENCODING}</charset>
|
||
</encoder>
|
||
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
|
||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||
<!-- 每天日志归档路径以及格式 -->
|
||
<fileNamePattern>${log.path}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
|
||
<!-- 日志文件的最大大小 -->
|
||
<maxFileSize>100MB</maxFileSize>
|
||
<!--日志文件保留天数-->
|
||
<maxHistory>15</maxHistory>
|
||
</rollingPolicy>
|
||
</appender>
|
||
|
||
<appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||
<!-- 日志过滤器:此日志文件只记录WARN级别的 -->
|
||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||
<level>WARN</level>
|
||
<onMatch>ACCEPT</onMatch>
|
||
<onMismatch>DENY</onMismatch>
|
||
</filter>
|
||
<!-- 正在记录的日志文件的路径及文件名 -->
|
||
<file>${log.path}/log_warn.log</file>
|
||
<encoder>
|
||
<pattern>${FILE_LOG_PATTERN}</pattern>
|
||
<charset>${ENCODING}</charset> <!-- 此处设置字符集 -->
|
||
</encoder>
|
||
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
|
||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||
<fileNamePattern>${log.path}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
|
||
<!-- 日志文件的最大大小 -->
|
||
<maxFileSize>100MB</maxFileSize>
|
||
<!--日志文件保留天数-->
|
||
<maxHistory>15</maxHistory>
|
||
</rollingPolicy>
|
||
</appender>
|
||
|
||
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||
<!-- 日志过滤器:此日志文件只记录ERROR级别的 -->
|
||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||
<level>ERROR</level>
|
||
<onMatch>ACCEPT</onMatch>
|
||
<onMismatch>DENY</onMismatch>
|
||
</filter>
|
||
<!-- 正在记录的日志文件的路径及文件名 -->
|
||
<file>${log.path}/log_error.log</file>
|
||
<encoder>
|
||
<pattern>${FILE_LOG_PATTERN}</pattern>
|
||
<charset>${ENCODING}</charset> <!-- 此处设置字符集 -->
|
||
</encoder>
|
||
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
|
||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||
<fileNamePattern>${log.path}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
|
||
<!-- 日志文件的最大大小 -->
|
||
<maxFileSize>100MB</maxFileSize>
|
||
<!--日志文件保留天数-->
|
||
<maxHistory>15</maxHistory>
|
||
</rollingPolicy>
|
||
</appender>
|
||
|
||
<!--输出到FLUENCY-->
|
||
<appender name="FLUENCY" class="ch.qos.logback.more.appenders.FluencyLogbackAppender">
|
||
<tag>tag2</tag>
|
||
<remoteHost>${fluentdHost}</remoteHost>
|
||
<port>${fluentdPort}</port>
|
||
<additionalField>
|
||
<key>topic</key>
|
||
<value>${topic}</value>
|
||
</additionalField>
|
||
<useEventTime>true</useEventTime>
|
||
</appender>
|
||
|
||
<!-- 开发环境 -->
|
||
<springProfile name="dev">
|
||
<root level="INFO">
|
||
<appender-ref ref="CONSOLE"/>
|
||
</root>
|
||
</springProfile>
|
||
|
||
<!-- 生产环境 -->
|
||
<springProfile name="prod">
|
||
<root level="INFO">
|
||
<appender-ref ref="INFO_FILE"/>
|
||
<appender-ref ref="WARN_FILE"/>
|
||
<appender-ref ref="ERROR_FILE"/>
|
||
</root>
|
||
</springProfile>
|
||
|
||
<!-- 容器环境 -->
|
||
<springProfile name="docker">
|
||
<root level="INFO">
|
||
<appender-ref ref="CONSOLE"/>
|
||
<!-- <appender-ref ref="FLUENCY"/>-->
|
||
</root>
|
||
</springProfile>
|
||
</configuration> |