|
@@ -0,0 +1,157 @@
|
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
|
+<configuration status="OFF">
|
|
|
+ <properties>
|
|
|
+ <property name="LOG_HOME">./logs/product</property>
|
|
|
+ <Property name="CONSOLE_LOG_PATTERN">%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{blue} %clr{%-5level}
|
|
|
+ %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%l}{cyan} %clr{:}{faint} %m%n%xwEx
|
|
|
+ </Property>
|
|
|
+ </properties>
|
|
|
+ <appenders>
|
|
|
+ <!-- 日志级别:ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF -->
|
|
|
+ <Console name="Console" target="SYSTEM_OUT">
|
|
|
+ <!--只接受程序中INFO级别的日志进行处理-->
|
|
|
+ <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
|
|
|
+ <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss.SSS}]-[%-5level]-[%class{36} %L %M - %msg%xEx]%n"/>
|
|
|
+ </Console>
|
|
|
+
|
|
|
+ <!--处理DEBUG级别的日志,并把该日志放到logs/debug.log文件中-->
|
|
|
+ <!--打印出DEBUG级别日志,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
|
|
|
+ <RollingFile name="RollingFileDebug" fileName="${LOG_HOME}/debug.log"
|
|
|
+ filePattern="${LOG_HOME}/$${date:yyyy-MM}/debug-%d{yyyy-MM-dd}-%i.log.gz">
|
|
|
+ <Filters>
|
|
|
+ <ThresholdFilter level="DEBUG"/>
|
|
|
+ <ThresholdFilter level="INFO" onMatch="DENY" onMismatch="NEUTRAL"/>
|
|
|
+ </Filters>
|
|
|
+ <PatternLayout
|
|
|
+ pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
|
|
|
+ <Policies>
|
|
|
+ <SizeBasedTriggeringPolicy size="200 MB"/>
|
|
|
+ <TimeBasedTriggeringPolicy interval="1"/>
|
|
|
+ </Policies>
|
|
|
+ <DefaultRolloverStrategy max="30">
|
|
|
+ <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
|
|
|
+ <IfFileName glob="*.log.gz"/>
|
|
|
+ <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
|
|
|
+ 另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
|
|
|
+ <!--30天-->
|
|
|
+ <IfLastModified age="30d"/>
|
|
|
+ </Delete>
|
|
|
+ </DefaultRolloverStrategy>
|
|
|
+ </RollingFile>
|
|
|
+
|
|
|
+ <!--处理INFO级别的日志,并把该日志放到logs/info.log文件中-->
|
|
|
+ <RollingFile name="RollingFileInfo" fileName="${LOG_HOME}/info.log"
|
|
|
+ filePattern="${LOG_HOME}/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log.gz">
|
|
|
+ <Filters>
|
|
|
+ <!--只接受INFO级别的日志,其余的全部拒绝处理-->
|
|
|
+ <LevelRangeFilter maxLevel="INFO" minLevel="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
|
|
|
+ </Filters>
|
|
|
+ <PatternLayout
|
|
|
+ pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
|
|
|
+ <Policies>
|
|
|
+ <SizeBasedTriggeringPolicy size="200 MB"/>
|
|
|
+ <TimeBasedTriggeringPolicy interval="1"/>
|
|
|
+ </Policies>
|
|
|
+ <DefaultRolloverStrategy max="30">
|
|
|
+ <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
|
|
|
+ <IfFileName glob="*.log.gz"/>
|
|
|
+ <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
|
|
|
+ 另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
|
|
|
+ <!--30天-->
|
|
|
+ <IfLastModified age="30d"/>
|
|
|
+ </Delete>
|
|
|
+ </DefaultRolloverStrategy>
|
|
|
+ </RollingFile>
|
|
|
+
|
|
|
+ <!--处理WARN级别的日志,并把该日志放到logs/warn.log文件中-->
|
|
|
+ <RollingFile name="RollingFileWarn" fileName="${LOG_HOME}/warn.log"
|
|
|
+ filePattern="${LOG_HOME}/$${date:yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log.gz">
|
|
|
+ <Filters>
|
|
|
+ <ThresholdFilter level="WARN"/>
|
|
|
+ <ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL"/>
|
|
|
+ </Filters>
|
|
|
+ <PatternLayout
|
|
|
+ pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
|
|
|
+ <Policies>
|
|
|
+ <SizeBasedTriggeringPolicy size="200 MB"/>
|
|
|
+ <TimeBasedTriggeringPolicy interval="1"/>
|
|
|
+ </Policies>
|
|
|
+ <DefaultRolloverStrategy max="30">
|
|
|
+ <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
|
|
|
+ <IfFileName glob="*.log.gz"/>
|
|
|
+ <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
|
|
|
+ 另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
|
|
|
+ <!--30天-->
|
|
|
+ <IfLastModified age="30d"/>
|
|
|
+ </Delete>
|
|
|
+ </DefaultRolloverStrategy>
|
|
|
+ </RollingFile>
|
|
|
+
|
|
|
+ <!--处理error级别的日志,并把该日志放到logs/error.log文件中-->
|
|
|
+ <RollingFile name="RollingFileError" fileName="${LOG_HOME}/error.log"
|
|
|
+ filePattern="${LOG_HOME}/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log.gz">
|
|
|
+ <ThresholdFilter level="ERROR"/>
|
|
|
+ <PatternLayout
|
|
|
+ pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>
|
|
|
+ <Policies>
|
|
|
+ <SizeBasedTriggeringPolicy size="200 MB"/>
|
|
|
+ <TimeBasedTriggeringPolicy interval="1"/>
|
|
|
+ </Policies>
|
|
|
+ <DefaultRolloverStrategy max="30">
|
|
|
+ <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
|
|
|
+ <IfFileName glob="*.log.gz"/>
|
|
|
+ <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
|
|
|
+ 另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
|
|
|
+ <!--30天-->
|
|
|
+ <IfLastModified age="30d"/>
|
|
|
+ </Delete>
|
|
|
+ </DefaultRolloverStrategy>
|
|
|
+ </RollingFile>
|
|
|
+
|
|
|
+ <!--sql的日志记录追加器-->
|
|
|
+ <RollingFile name="druidSqlRollingFile" fileName="${LOG_HOME}/sql.log"
|
|
|
+ filePattern="${LOG_HOME}/$${date:yyyy-MM}/sql-%d{yyyy-MM-dd}-%i.log.gz">
|
|
|
+ <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %L %M - %msg%xEx%n"/>
|
|
|
+ <Policies>
|
|
|
+ <SizeBasedTriggeringPolicy size="200 MB"/>
|
|
|
+ <TimeBasedTriggeringPolicy interval="1"/>
|
|
|
+ </Policies>
|
|
|
+ <DefaultRolloverStrategy max="30">
|
|
|
+ <Delete basePath="${LOG_HOME}/$${date:yyyy-MM}/" maxDepth="2">
|
|
|
+ <IfFileName glob="*.log.gz"/>
|
|
|
+ <!-- 这里的age必须和filePattern协调, 后者是精确到HH, 这里就要写成xH, xd就不起作用
|
|
|
+ 另外, 数字最好>2, 否则可能造成删除的时候, 最近的文件还处于被占用状态,导致删除不成功!-->
|
|
|
+ <!--30天-->
|
|
|
+ <IfLastModified age="30d"/>
|
|
|
+ </Delete>
|
|
|
+ </DefaultRolloverStrategy>
|
|
|
+ </RollingFile>
|
|
|
+ </appenders>
|
|
|
+
|
|
|
+ <loggers>
|
|
|
+ <root level="INFO">
|
|
|
+ <appender-ref ref="Console"/>
|
|
|
+ <appender-ref ref="RollingFileInfo"/>
|
|
|
+ <appender-ref ref="RollingFileWarn"/>
|
|
|
+ <appender-ref ref="RollingFileError"/>
|
|
|
+ <appender-ref ref="RollingFileDebug"/>
|
|
|
+ </root>
|
|
|
+
|
|
|
+ <!--记录druid-sql的记录-->
|
|
|
+ <logger name="druid.sql.Statement" level="INFO" additivity="false">
|
|
|
+ <appender-ref ref="druidSqlRollingFile"/>
|
|
|
+ </logger>
|
|
|
+
|
|
|
+ <!--log4j2 自带过滤日志-->
|
|
|
+ <Logger name="org.apache.catalina.startup.DigesterFactory" level="error"/>
|
|
|
+ <Logger name="org.apache.catalina.util.LifecycleBase" level="error"/>
|
|
|
+ <Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn"/>
|
|
|
+ <logger name="org.apache.sshd.common.util.SecurityUtils" level="warn"/>
|
|
|
+ <Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn"/>
|
|
|
+ <Logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="error"/>
|
|
|
+ <Logger name="org.hibernate.validator.internal.util.Version" level="warn"/>
|
|
|
+ <logger name="org.springframework.boot.actuate.autoconfigure.CrshAutoConfiguration" level="warn"/>
|
|
|
+ <logger name="org.springframework.boot.actuate.endpoint.jmx" level="warn"/>
|
|
|
+ <logger name="org.thymeleaf" level="warn"/>
|
|
|
+ </loggers>
|
|
|
+</configuration>
|