中所述
我想在下面的配置文件中定义自定义日志级别
<CustomLevels>
<CustomLevel name="DIAG" intLevel="350" />
<CustomLevel name="NOTICE" intLevel="450" />
<CustomLevel name="VERBOSE" intLevel="550" />
</CustomLevels>
我想用类似的Java代码访问它们
Level diag = // get level defined in configuration
// and use them like this
logger.log(diag, "message");
// and then this 'message' is printed in the appender with thresholdfilter as diag
然后在appender上设置一个阈值过滤器,与配置文件中定义的级别进行比较。。。
这可能吗?如果是,那么怎么做呢?
定义如下自定义级别:
public static final Level DIAG = Level.forName("DIAG", 350)
因此,您只需要从配置文件中读取这些级别(在启动时),并将它们分配给一些静态变量。
这应该完成任务:
logger.log(Level.getLevel("DIAG"), "your message");
如log4j2文档