1、控制台
<configuration status="error" monitorInterval="10">
<properties>
<property name="LOG_HOME">logs</property>
<property name="PATTERN_LAYOUT_CONSOLE_ROOT">%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %highlight{[%-5level]} [%c{1.}.%M(%F:%L)] --- %highlight{%msg %xEx%n}</property>
<property name="PATTERN_LAYOUT">%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] [%-5level] --- %msg %xEx%n</property>
</properties>
<appenders>
<Console name="Console" target="SYSTEM_OUT">
<ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout charset="utf-8">
<MarkerPatternSelector defaultPattern="${PATTERN_LAYOUT_CONSOLE_ROOT}">
<PatternMatch key="UTIL" pattern="${PATTERN_LAYOUT}"/>
</MarkerPatternSelector>
</PatternLayout>
</Console>
</appenders>
<loggers>
<!-- 默认显示方式 -->
<root level="INFO">
<appender-ref ref="Console"/>
</root>
<Logger name="com.lms.http" level="DEBUG" additivity="false">
<!--生产环境将控制台去掉-->
<appender-ref ref="Console"/>
</Logger>
</loggers>
</configuration>
2、文件
<configuration status="error" monitorInterval="10">
<properties>
<property name="LOG_HOME">logs</property>
<property name="INFO_FILE_NAME">info.log</property>
<property name="ERROR_FILE_NAME">error.log</property>
<property name="PATTERN_LAYOUT_CONSOLE_ROOT">%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %highlight{[%-5level]} [%c{1.}.%M(%F:%L)] --- %highlight{%msg %xEx%n}</property>
<property name="PATTERN_LAYOUT_FILE_ROOT">%d{yyyy-MM-dd HH:mm:ss.SSS} [%5p] [%t] [%l] --- %m%n</property>
<property name="PATTERN_LAYOUT">%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] [%-5level] --- %msg %xEx%n</property>
</properties>
<appenders>
<Console name="Console" target="SYSTEM_OUT">
<ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout charset="utf-8">
<MarkerPatternSelector defaultPattern="${PATTERN_LAYOUT_CONSOLE_ROOT}">
<PatternMatch key="UTIL" pattern="${PATTERN_LAYOUT}"/>
</MarkerPatternSelector>
</PatternLayout>
</Console>
<RollingFile name="ROLLING_FILE_INFO" fileName="${LOG_HOME}/${INFO_FILE_NAME}"
filePattern="${LOG_HOME}/${INFO_FILE_NAME}-%d{yyyy-MM-dd}-%i.log.gz"
bufferSize="4096" immediateFlush="true" bufferedIO="true" append="false">
<Filters>
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
</Filters>
<PatternLayout charset="utf-8">
<MarkerPatternSelector defaultPattern="${PATTERN_LAYOUT_FILE_ROOT}">
<PatternMatch key="UTIL" pattern="${PATTERN_LAYOUT}"/>
</MarkerPatternSelector>
</PatternLayout>
<Policies>
<!--<CronTriggeringPolicy schedule="0 0 0/12 * * ?"/>-->
<TimeBasedTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="10MB"/>
</Policies>
<DefaultRolloverStrategy max="5">
<Delete basePath="${LOG_HOME}" testMode="false" maxDepth="5">
<IfFileName glob="${INFO_FILE_NAME}*.log.gz">
<IfLastModified age="30d">
<IfAny>
<IfAccumulatedFileSize exceeds="5GB"/>
<IfAccumulatedFileCount exceeds="10"/>
</IfAny>
</IfLastModified>
</IfFileName>
<IfAccumulatedFileCount exceeds="10"/>
<IfAccumulatedFileSize exceeds="5GB"/>
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
<RollingFile name="ROLLING_FILE_ERROR" fileName="${LOG_HOME}/${ERROR_FILE_NAME}"
filePattern="${LOG_HOME}/${ERROR_FILE_NAME}-%d{yyyy-MM-dd}-%i.log.gz"
bufferSize="4096" immediateFlush="true" bufferedIO="true" append="false">
<Filters>
<ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
</Filters>
<PatternLayout charset="utf-8">
<MarkerPatternSelector defaultPattern="${PATTERN_LAYOUT_FILE_ROOT}">
<PatternMatch key="UTIL" pattern="${PATTERN_LAYOUT}"/>
</MarkerPatternSelector>
</PatternLayout>
<Policies>
<!--<CronTriggeringPolicy schedule="0 0 0/12 * * ?"/>-->
<TimeBasedTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="10MB"/>
</Policies>
<DefaultRolloverStrategy max="5">
<Delete basePath="${LOG_HOME}" testMode="false" maxDepth="5">
<IfFileName glob="${ERROR_FILE_NAME}*.log.gz">
<IfLastModified age="30d">
<IfAny>
<IfAccumulatedFileSize exceeds="5GB"/>
<IfAccumulatedFileCount exceeds="10"/>
</IfAny>
</IfLastModified>
</IfFileName>
<IfAccumulatedFileCount exceeds="10"/>
<IfAccumulatedFileSize exceeds="5GB"/>
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</appenders>
<loggers>
<!-- 默认显示方式 -->
<root level="INFO">
<appender-ref ref="Console"/>
<appender-ref ref="RollingFileINFO"/>
<appender-ref ref="ROLLING_FILE_ERROR"/>
</root>
<Logger name="com.lms.swing" level="INFO" additivity="false">
<!--生产环境将控制台去掉-->
<appender-ref ref="Console"/>
<appender-ref ref="ROLLING_FILE_INFO"/>
<appender-ref ref="ROLLING_FILE_ERROR"/>
</Logger>
</loggers>
</configuration>