Log4j2介绍和特性实例(五)--用户自定义日志等级

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">Log4j2支持用户自定义的日志等级,在代码或者配置文件中都可以进行新日志等级的定义。</span>

1. 如果要在代码中定义新等级,可以使用 Level.forName() 方法:

// This creates the "VERBOSE" level if it does not exist yet.
final Level VERBOSE = Level.forName("VERBOSE", 550);

final Logger logger = LogManager.getLogger();
logger.log(VERBOSE, "a verbose message"); // use the custom VERBOSE level

// Create and use a new custom level "DIAG".
logger.log(Level.forName("DIAG", 350), "a diagnostic message");

// Use (don't create) the "DIAG" custom level.
// Only do this *after* the custom level is created!
logger.log(Level.getLevel("DIAG"), "another diagnostic message");

2. 如果要在配置文件中定义新等级,可以使用<CustomLevels>标签进行定义:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<span style="white-space:pre">	</span><!-- Define custom levels before using them for filtering below. -->
	<CustomLevels>
		<CustomLevel name="DIAG" intLevel="350" />
		<CustomLevel name="NOTICE" intLevel="450" />
		<CustomLevel name="VERBOSE" intLevel="550" />
	</CustomLevels>
	<Appenders>
		<Console name="Console" target="SYSTEM_OUT">
			<PatternLayout pattern="%d %-7level %logger{36} - %msg%n"/>
		</Console>
		<File name="MyFile" fileName="logs/app.log">
			<PatternLayout pattern="%d %-7level %logger{36} - %msg%n"/>
		</File>
	</Appenders>
	<Loggers>
		<Root level="trace">
			<!-- Only events at DIAG level or more specific are sent to the console. -->
			<AppenderRef ref="Console" level="diag" />
			<AppenderRef ref="MyFile" level="trace" />
		</Root>
	</Loggers>
</Configuration>
在Log4j2程序在解析配置文件后,会自动调用   Level.forName()创建新日志等级。

3. 在日志等级中使用的数字(intLevel),是用来让系统知道新等级相对于系统自带的日志等级所在的位置。

系统默认的日志等级如下:



如果大家想深入研究,可以参考用户手册第17章的内容。

下一篇将介绍配置文件不再默认路径时,如何加载配置文件。谢谢关注。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值