Log4j2配置多个appender示例

后端 潘老师 4个月前 (10-26) 88 ℃ (0) 扫码查看

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>

 


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/back/10399.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】