首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在配置文件中定义自定义日志级别并访问它们是Java代码、Log4J2

在配置文件中定义自定义日志级别并访问它们是Java代码、Log4J2
EN

Stack Overflow用户
提问于 2014-11-03 19:20:06
回答 2查看 856关注 0票数 0

我想在配置文件中定义自定义日志级别,如下所示

代码语言:javascript
复制
<CustomLevels>
    <CustomLevel name="DIAG" intLevel="350" />
    <CustomLevel name="NOTICE" intLevel="450" />
    <CustomLevel name="VERBOSE" intLevel="550" />
</CustomLevels>

我想在Java代码中访问它们,比如

代码语言:javascript
复制
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

然后在附加器上设置一个阈值过滤器,与配置文件中定义的级别进行比较。

这个是可能的吗?如果是,那么是如何实现的呢?

EN

回答 2

Stack Overflow用户

发布于 2014-11-03 19:25:50

如下所示定义自定义标高:

代码语言:javascript
复制
public static final Level DIAG = Level.forName("DIAG", 350)

因此,您所需要做的就是(在启动时)从配置文件中读取这些级别,并将它们分配给一些静态变量。

票数 1
EN

Stack Overflow用户

发布于 2016-12-08 22:38:38

这应该可以完成这项工作:

代码语言:javascript
复制
logger.log(Level.getLevel("DIAG"), "your message");

the log4j2 doc中所述

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26713145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档