log4j2的基本使用

定时删除日志:

http://www.kstrive.com/2017/10/26/log4j2_auto_delete_old_logs/

https://blog.csdn.net/z69183787/article/details/77676486

日志分割:

https://blog.csdn.net/zhang168/article/details/46814489

 log2j配置文件详解:https://www.cnblogs.com/wangzhuxing/p/7753420.html

常见配置说明:

<!-- 这个会打印出所有的信息,每次大小超过size,会创建一个日期与时间的组织起来为文件名的文件,同时清空runtime.log记录的日志 -->
<RollingFile name="interfaceAppender" fileName="${catalina.home}/logs/interface.log" filePattern="${catalina.home}/logs/interface-%d{yyyyMMdd}-%i.log">
<PatternLayout pattern="${version}|%d{yyyy-MM-dd HH:mm:ss.SSS}|svr|%msg%n" />
<!-- 以下策略表示每一天生成一个文件或者文件内容大于100MB时创建一个新的文件,如果一天之中有多个超过100MB文件生成则以尾数区别从1开始,如果一天只有一个则尾数的后缀是1 -->
<Policies>
<TimeBasedTriggeringPolicy interval="1" />
<SizeBasedTriggeringPolicy size="100MB" />
</Policies>
<!-- DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件,这里设置了20 -->
<DefaultRolloverStrategy max="20"/>
</RollingFile>

基本输出语法:

%d{HH:mm:ss.SSS} 表示输出到毫秒的时间
%t 输出当前线程名称
%-5level 输出日志级别,-5表示左对齐并且固定输出5个字符,如果不足在右边补0
%logger 输出logger名称,因为Root Logger没有名称,所以没有输出
%msg 日志文本
%n 换行

其他常用的占位符有:
%F 输出所在的类文件名,如Log4j2Test.java
%L 输出行号
%M 输出所在方法名
%l 输出语句所在的行数, 包括类名、方法名、文件名、行数
---------------------
作者:vbirdbest
来源:CSDN
原文:https://blog.csdn.net/vbirdbest/article/details/71751835
版权声明:本文为博主原创文章,转载请附上博文链接!

log4j配置文件中的additivity属性


它是 子Logger 是否继承 父Logger 的 输出源(appender)的标志位。具体说,默认情况下子Logger会继承父Logger的appender,

也就是说子Logger会在父Logger的appender里输出。若是additivity设为false,则子Logger只会在自己的appender里输出,而不会在父Logger的appender里输出。


使用例子:下面是一个log4j的配置文件,父logger是timer和error,子logger是net

原文地址:https://www.cnblogs.com/chaojibaidu/p/10930705.html