log4j2.xml配置文件,保存不同文件,按日期进行分存
2017-05-23 00:00
281 查看
<?xml version="1.0" encoding="UTF-8"?> <!-- configure.status 为设置日志输出级别,级别如下:OFF 、FATAL 、ERROR、WARN、INFO、DEBUG、TRACE 、ALL --> <!-- configure.monitorInterval 监控间隔 指log4j2每隔600秒(10分钟),自动监控该配置文件是否有变化,如果变化,则自动根据文件内容重新配置 --> <configuration status="OFF" monitorInterval="600"> <properties> <property name="LOG_HOME">E:/workspace/Java/logs</property> <property name="LOG_BACK_HOME">${LOG_HOME}/backup</property> <property name="ERROR_FILE_NAME">error</property> <property name="WARN_FILE_NAME">warn</property> <property name="INFO_FILE_NAME">info</property> <property name="DEBUG_FILE_NAME">debug</property> </properties> <!--先定义所有的appender --> <appenders> <!--这个输出控制台的配置 --> <Console name="Console" target="SYSTEM_OUT"> <!--这个都知道是输出日志的格式 --> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" /> </Console> <!-- 配置日志输出文件名字 追加读写 --> <!-- Error console log --> <RollingFile name="ErrLog" fileName="${LOG_HOME}/${ERROR_FILE_NAME}.log" filePattern="${LOG_BACK_HOME}/$${date:yyyy-MM}/${ERROR_FILE_NAME}.%d{yyyy-MM-dd}.log" append="true"> <!-- 输出格式 --> <PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" /> <!-- 设置策略 --> <Policies> <!-- 基于时间的触发策略。该策略主要是完成周期性的log文件封存工作。有两个参数: interval,integer型,指定两次封存动作之间的时间间隔。单位:以日志的命名精度来确定单位, 比如yyyy-MM-dd-HH 单位为小时,yyyy-MM-dd-HH-mm 单位为分钟 modulate,boolean型,说明是否对封存时间进行调制。若modulate=true, 则封存时间将以0点为边界进行偏移计算。比如,modulate=true,interval=4hours, 那么假设上次封存日志的时间为03:00,则下次封存日志的时间为04:00, 之后的封存时间依次为08:00,12:00,16:00 --> <TimeBasedTriggeringPolicy interval="1" modulate="true" /> </Policies> <Filters> <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY" /> </Filters> </RollingFile> <!-- Warn console log --> <RollingFile name="WarnLog" fileName="${LOG_HOME}/${WARN_FILE_NAME}.log" filePattern="${LOG_BACK_HOME}/$${date:yyyy-MM}/${WARN_FILE_NAME}.%d{yyyy-MM-dd}.log" append="true"> <!-- 输出格式 --> <PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" /> <!-- 设置策略 --> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true" /> </Policies> <Filters> <ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL" /> <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY" /> </Filters> </RollingFile> <!-- Info console log --> <RollingFile name="InfoLog" fileName="${LOG_HOME}/${INFO_FILE_NAME}.log" filePattern="${LOG_BACK_HOME}/$${date:yyyy-MM}/${INFO_FILE_NAME}.%d{yyyy-MM-dd}.log" append="true"> <!-- 输出格式 --> <PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" /> <!-- 设置策略 --> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true" /> </Policies> <Filters> <ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL" /> <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY" /> </Filters> </RollingFile> <!-- Debug console log --> <RollingFile name="DebugLog" fileName="${LOG_HOME}/${DEBUG_FILE_NAME}.log" filePattern="${LOG_BACK_HOME}/$${date:yyyy-MM}/${DEBUG_FILE_NAME}.%d{yyyy-MM-dd}.log" append="true"> <!-- 输出格式 --> <PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" /> <!-- 设置策略 --> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true" /> </Policies> <Filters> <ThresholdFilter level="info" onMatch="DENY" onMismatch="NEUTRAL" /> <ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY" /> </Filters> </RollingFile> </appenders> <loggers> <!-- 默认显示方式 --> <root level="trace"> <appender-ref ref="Console"/> <appender-ref ref="ErrLog" /> <appender-ref ref="WarnLog" /> <appender-ref ref="InfoLog" /> <appender-ref ref="DebugLog" /> </root> </loggers> </configuration>
TimeBasedTriggeringPolicy
属性 | 解释 |
---|---|
interval | (integer)该属性是相对 RollingFile.filePattern 中的 %d{yyyy-MM-dd}值,例: filePattern=”xxx%d{yyyy-MM-dd}xx” interval=”2” 表示将2天一个日志文件; filePattern=”xxx%d{yyyy-MM-dd-HH}xx” interval=”1”表示一个小时一个日志文件 |
modulate | (boolean)以0点为边界进行偏移计算 |
相关文章推荐
- log4j 配置文件 保存日志文件路径 按文件大小保存 和安时间日期保存 的配置
- log4j在配置文件中对不同的包设定不同的LEVEL
- windows 批处理按照配置信息从主机不同目录获取文件保存在windows
- log4j配置文件在java程序不同阶段的位置
- Log4j按级别输出日志到不同文件配置分析
- struts2.xml文件上传保存路径配置错误
- log4j 日志文件保存 服务器目录+配置示例
- vim配置技巧——在vim中使用autocmd命令在保存文件时自动插入最后修改日期和时间
- log4j配置文件使其能够打印4个级别的日志到不同的文件中
- 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)
- Log4j按级别输出日志到不同文件配置分析
- Log4j按级别输出日志到不同文件配置分析
- log4j配置文件备份以及为什么生成的文件不会有日期戳
- java使用不同厂商驱动进行数据库连接(配置文件)
- Log4j ---- 通过配置文件进行配置
- log4j配置,对指定包进行DEBUG输出和输出日志文件到tomcat下logs目录
- 【struts2】配置log4j,设置日志文件保存路径
- Log4j按级别输出日志到不同文件配置分析
- Log4j按级别输出日志到不同文件配置分析
- log4j的日志文件保存到项目发布目录,log4j文件每天分割按日期命名