log4j2 自定义日志级别

log4j内置日志级别

注意 : intLevel 值越小,级别越高 (log4j2 官方文档)

自定义日志级别

第一步 :声明自定义级别 intLevel参考上面的值

<CustomLevels>
    <CustomLevel name="INITLEVEL" intLevel="240" />
</CustomLevels>

第二步 : 配置自定义级别输出 

<loggers>
		 <root level="warn">
			<appender-ref ref="Console"/>
		</root> 
		<logger name="initLog" level="INITLEVEL" additivity="false">
			<appender-ref ref="Console" />
			
		</logger>
</loggers>

注意 : root的级别一定要比自定义级别高,要不然不能输出。例如warn 的级别是300 ,自定义级别是350 ,那么自定义级别的日志就不能输出了。

第三步:使用自定义级别:

private Logger log = LogManager.getLogger(ScheduleJobServiceImpl.class.getName());



log.log(Level.getLevel("INITLEVEL"), "初始化日志输出测试");

注:官方网站还给出了另一种自定义级别的使用方式。

private static final ExtLogger logger = ExtLogger.create(MyService.class);


//自定义级别
logger.diag("another message");

看起来代码更简介,更易用,

但是需要自己写个日志的扩展对象。有机会的话日后补充。

猜你喜欢

转载自blog.csdn.net/qq_26462567/article/details/84139496
今日推荐