log4j日志分类打印,分日志级别,并且分模块,包含压缩功能。详细配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="OFF" shutdownHook="disable">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
<RollingFile name="RollingFile" fileName="logs/SystemOut.log"
filePattern="logs/archive/ITESystemOutr-%i.gz">
<PatternLayout
pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} [%t] %-5level %class{36} %L %M - %msg%xEx%n" />
<SizeBasedTriggeringPolicy size="50MB" />
<DefaultRolloverStrategy max="10" />
<Filters>
<ThresholdFilter level="error" onMatch="DENY"
onMismatch="NEUTRAL" />
</Filters>
</RollingFile>
<RollingFile name="RollingFileError" fileName="logs/SystemErr.log"
filePattern="logs/archive/ITESystemErr-%i.gz">
<PatternLayout
pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} [%t] %-5level %class{36} %L %M - %msg%xEx%n" />
<SizeBasedTriggeringPolicy size="50MB" />
<DefaultRolloverStrategy max="10" />
<Filters>
<ThresholdFilter level="error" onMatch="ACCEPT"
onMismatch="DENY" />
</Filters>
</RollingFile>
<RollingFile name="Archive" fileName="logs/ArchiveMethod.log" append="true"
filePattern="logs/archive/Archive-%i.gz" >
<PatternLayout
pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} [%t] %-5level %class{36} %L %M - %msg%xEx%n" />
<SizeBasedTriggeringPolicy size="50MB" />
<DefaultRolloverStrategy max="10" />
<Filters>
<ThresholdFilter level="DEBUG" onMatch="ACCEPT"
onMismatch="DENY" />
</Filters>
</RollingFile>
<RollingFile name="Delete" fileName="logs/DeleteMethod.log" append="true"
filePattern="logs/delete/Delete-%i.gz" >
<PatternLayout
pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} [%t] %-5level %class{36} %L %M - %msg%xEx%n" />
<SizeBasedTriggeringPolicy size="50MB" />
<DefaultRolloverStrategy max="10" />
<Filters>
<ThresholdFilter level="DEBUG" onMatch="ACCEPT"
onMismatch="DENY" />
</Filters>
</RollingFile>
<RollingFile name="excavate" fileName="logs/excavateMethod.log" append="true"
filePattern="logs/excavate/excavate-%i.gz">
<PatternLayout
pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} [%t] %-5level %class{36} %L %M - %msg%xEx%n" />
<SizeBasedTriggeringPolicy size="50MB" />
<DefaultRolloverStrategy max="10" />
<Filters>
<ThresholdFilter level="DEBUG" onMatch="ACCEPT"
onMismatch="DENY" />
</Filters>
</RollingFile>
</Appenders>
<Loggers>
<Root level="DEBUG">
<AppenderRef ref="Console" />
<AppenderRef ref="RollingFileError" />
<AppenderRef ref="RollingFile" />
</Root>
<Logger name="Archive" level="trace" additivity="false">
<AppenderRef ref="Archive" />
</Logger>
<Logger name="Delete" level="trace" additivity="false">
<AppenderRef ref="Delete" />
</Logger>
<Logger name="excavate" level="trace" additivity="false">
<AppenderRef ref="excavate" />
</Logger>
</Loggers>
</Configuration>
系统中不同模块的日志用不同的logger:Logger logger = (Logger) LogManager.getLogger("Archive");