Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- status : 这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成TRACE时,会看到log4j2内部各种详细输出
- monitorInterval : Log4j能够自动检测修改配置文件和重新配置本身, 设置间隔秒数。此处表示每隔几秒重读一次配置文件.
- 日志级别:TRACE < DEBUG < INFO < WARN < ERROR < FATAL
- 如果设置为WARN,则低于WARN的信息都不会输出
- -->
- <Configuration status="INFO" monitorInterval="1800">
- <!-- 参数配置 -->
- <Properties>
- <!-- 配置日志文件输出目录 -->
- <Property name="LOG_HOME">./logs/test/</Property>
- <!-- 日志输出文件名 -->
- <property name="FILE_NAME">test-info</property>
- <property name="ERROR_FILE_NAME">test-error</property>
- <!-- 日志格式化 -->
- <property name="console_pattern_layout">
- %highlight{%d{yyyy-MM-dd HH:mm:ss.SSS} [%5level][%c{1.}]-(%t)} %m%n
- </property>
- <property name="pattern_layout">
- %d{yyyy-MM-dd HH:mm:ss.SSS} [%5level][%logger{36}]-(%t) %m%n
- </property>
- </Properties>
- <!-- 日志配置Appender -->
- <Appenders>
- <!-- 输出控制台的配置 -->
- <Console name="Console" target="SYSTEM_OUT">
- <ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="ACCEPT" />
- <PatternLayout pattern="${console_pattern_layout}"/>
- </Console>
- <!-- 文件输出配置,文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,适合临时测试用 -->
- <!--<File name="log" fileName="log/test.log" append="false">
- <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>
- </File>-->
- <!--
- 循环日志文件配置:日志文件大于阀值的时候,就开始写一个新的日志文件
- 这个会打印出所有的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档
- fileName : 指定当前日志文件的位置和文件名称
- filePattern : 指定当发生Rolling时,文件的转移和重命名规则
- SizeBasedTriggeringPolicy : 指定当文件体积大于size指定的值时,触发Rolling
- DefaultRolloverStrategy : 指定最多保存的文件个数
- TimeBasedTriggeringPolicy : 这个配置需要和filePattern结合使用
- 注意filePattern中配置的文件重命名规则是${FILE_NAME}_%d{yyyy-MM-dd}_%i,最小的时间粒度是dd,即天,
- TimeBasedTriggeringPolicy指定的size是1,结合起来就是每1天生成一个新文件
- -->
- <RollingRandomAccessFile name="INFO_FILE"
- fileName="${LOG_HOME}/${FILE_NAME}.log"
- filePattern="${LOG_HOME}/${FILE_NAME}-%d{yyyy-MM-dd}_%i.log">
- <Filters>
- <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
- </Filters>
- <PatternLayout pattern="${pattern_layout}"/>
- <Policies>
- <TimeBasedTriggeringPolicy interval="1"/>
- <SizeBasedTriggeringPolicy size="100MB"/>
- </Policies>
- <DefaultRolloverStrategy max="20"/>
- </RollingRandomAccessFile>
- <!-- 错误日志 -->
- <RollingRandomAccessFile name="ERROR_FILE"
- fileName="${LOG_HOME}/${ERROR_FILE_NAME}.log"
- filePattern="${LOG_HOME}/${ERROR_FILE_NAME}-%d{yyyy-MM-dd}_%i.log">
- <Filters>
- <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
- </Filters>
- <PatternLayout pattern="${pattern_layout}"/>
- <Policies>
- <TimeBasedTriggeringPolicy interval="1"/>
- <SizeBasedTriggeringPolicy size="100MB"/>
- </Policies>
- <DefaultRolloverStrategy max="20"/>
- </RollingRandomAccessFile>
- <!-- 异步日志配置 -->
- <Async name="AsyncAll">
- <AppenderRef ref="Console"/>
- <AppenderRef ref="INFO_FILE"/>
- <AppenderRef ref="ERROR_FILE"/>
- </Async>
- </Appenders>
- <!-- 日志记录Logger -->
- <Loggers>
- <Logger name="org.hibernate" level="INFO" additivity="false">
- <AppenderRef ref="AsyncAll"/>
- </Logger>
- <Root level="INFO">
- <AppenderRef ref="Console"/>
- <AppenderRef ref="INFO_FILE"/>
- <AppenderRef ref="ERROR_FILE"/>
- </Root>
- </Loggers>
- </Configuration>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement