文章目录 Log4j2多个Appender-XML配置 log4j2.xml是用于配置多个appender(如控制台appender和文件appender)的引用。它还配置了动态日志根路径。 Log4j2多个Appender-……
文
章
目
录
log4j2.xml是用于配置多个appender(如控制台appender和文件appender)的引用。它还配置了动态日志根路径。
Log4j2多个Appender-XML配置
下面的示例log4j2配置执行以下操作:
- 使用动态日志根路径,其中将创建日志文件。通过将环境变量作为-DAPP_LOG_ROOT=c:/temp进行配置。
- 演示在配置文件中定义属性常量的用法,例如下面的文件中的LOG_PATTERN。
- 它使用LevelRangeFilter将不同的日志级别语句记录在不同的文件中,即一个文件中的调试日志和另一个文件中的错误日志。
- 所有日志都将显示在控制台上。
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Configuration status=\"WARN\" monitorInterval=\"30\">
<Properties>
<Property name=\"LOG_PATTERN\">%d{yyyy-MM-dd\'T\'HH:mm:ss.SSSZ} %p %m%n</Property>
</Properties>
<Appenders>
<Console name=\"Console\" target=\"SYSTEM_OUT\" follow=\"true\">
<PatternLayout pattern=\"${LOG_PATTERN}\"/>
</Console>
<RollingFile name=\"debugLog\" fileName=\"${sys:APP_LOG_ROOT}/application-debug.log\"
filePattern=\"${sys:APP_LOG_ROOT}/application-debug-%d{yyyy-MM-dd}-%i.log\">
<LevelRangeFilter minLevel=\"DEBUG\" maxLevel=\"DEBUG\" onMatch=\"ACCEPT\" onMismatch=\"DENY\"/>
<PatternLayout pattern=\"${LOG_PATTERN}\"/>
<Policies>
<SizeBasedTriggeringPolicy size=\"19500KB\" />
</Policies>
<DefaultRolloverStrategy max=\"10\"/>
</RollingFile>
<RollingFile name=\"infoLog\" fileName=\"${sys:APP_LOG_ROOT}/application-info.log\"
filePattern=\"${sys:APP_LOG_ROOT}/application-info-%d{yyyy-MM-dd}-%i.log\" >
<LevelRangeFilter minLevel=\"INFO\" maxLevel=\"INFO\" onMatch=\"ACCEPT\" onMismatch=\"DENY\"/>
<PatternLayout pattern=\"${LOG_PATTERN}\"/>
<Policies>
<SizeBasedTriggeringPolicy size=\"19500KB\" />
</Policies>
<DefaultRolloverStrategy max=\"10\"/>
</RollingFile>
<RollingFile name=\"errorLog\" fileName=\"${sys:APP_LOG_ROOT}/application-error.log\"
filePattern=\"${sys:APP_LOG_ROOT}/application-error-%d{yyyy-MM-dd}-%i.log\" >
<LevelRangeFilter minLevel=\"ERROR\" maxLevel=\"ERROR\" onMatch=\"ACCEPT\" onMismatch=\"DENY\"/>
<PatternLayout pattern=\"${LOG_PATTERN}\"/>
<Policies>
<SizeBasedTriggeringPolicy size=\"19500KB\" />
</Policies>
<DefaultRolloverStrategy max=\"10\"/>
</RollingFile>
<RollingFile name=\"springLog\" fileName=\"${sys:APP_LOG_ROOT}/spring.log\"
filePattern=\"${sys:APP_LOG_ROOT}/spring-%d{yyyy-MM-dd}-%i.log\" >
<PatternLayout pattern=\"${LOG_PATTERN}\"/>
<Policies>
<SizeBasedTriggeringPolicy size=\"19500KB\" />
</Policies>
<DefaultRolloverStrategy max=\"1\"/>
</RollingFile>
<RollingFile name=\"aopLog\" fileName=\"${sys:APP_LOG_ROOT}/application-aop.log\"
filePattern=\"${sys:APP_LOG_ROOT}/application-aop-%d{yyyy-MM-dd}-%i.log\" >
<PatternLayout pattern=\"${LOG_PATTERN}\"/>
<Policies>
<SizeBasedTriggeringPolicy size=\"19500KB\" />
</Policies>
<DefaultRolloverStrategy max=\"1\"/>
</RollingFile>
</Appenders>
<Loggers>
<Logger name=\"com.howtodoinjava.app.aop\" additivity=\"false\">
<AppenderRef ref=\"aopLog\" />
<AppenderRef ref=\"Console\" />
</Logger>
<Logger name=\"com.howtodoinjava.app\" additivity=\"false\">
<AppenderRef ref=\"debugLog\" />
<AppenderRef ref=\"infoLog\" />
<AppenderRef ref=\"errorLog\" />
<AppenderRef ref=\"Console\" />
</Logger>
<Logger name=\"org.springframework\" additivity=\"false\">
<AppenderRef ref=\"springLog\" />
<AppenderRef ref=\"Console\"/>
</Logger>
<Root level=\"all\">
<AppenderRef ref=\"Console\"/>
</Root>
</Loggers>
</Configuration>
还没有评论呢,快来抢沙发~