首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在使用Log4J 2查找JNDI变量时,如何设置默认值?

在使用Log4J 2查找JNDI变量时,如何设置默认值?
EN

Stack Overflow用户
提问于 2017-07-26 18:55:32
回答 2查看 1.3K关注 0票数 2

我已经成功地用一个Log4J文件配置了log4j2.xml 2,并且正在通过JNDI变量查找成功地设置文件中Property的值。

但是,如果JNDI变量不存在,我希望为Property提供一个默认值。

这个是可能的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-27 03:28:40

试试这个:

代码语言:javascript
运行
复制
<Root level="${jndi:yourJndiVariableName:-DEFAULT}">

通常,所有Log4j2查找都遵循以下模式:${type:key:-defaultValue}

票数 2
EN

Stack Overflow用户

发布于 2017-07-26 19:08:39

是的:这可以通过使用默认的属性映射来完成:

代码语言:javascript
运行
复制
<Configuration status="DEBUG" name="Example">
    <Properties>
        <Property name="yourJndiVariableName">
            the value used if the JNDI variable cannot be found
        </Property>
    </Properties>

    ... more configuration ...

    <Loggers>
        <Root level="${jndi:yourJndiVariableName}">
            <AppenderRef ref="console"/>
        </Root>
    </Loggers>

    ... more configuration ...
</Configuration>

根据用于属性替换的Log4J 2配置文档,这也适用于其他属性来源(如环境变量、系统属性等)。

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

https://stackoverflow.com/questions/45335282

复制
相关文章

相似问题

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