Created
March 15, 2019 05:49
-
-
Save larry1001/ffde1b39c70d68d60261ce801a36c2b5 to your computer and use it in GitHub Desktop.
Springboot log4j2 配置
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment