给定log4j2.xml是配置多个附加器的参考,例如控制台附加器和文件附加器。 这还将配置动态日志根路径。
Log4j 多个附加器配置
log4j 配置示例受到打击。 它执行以下操作:
- 使用将在其中创建日志文件的动态日志根路径。 将环境变量作为
-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>
将我的问题放在评论部分。
学习愉快!
