首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在logback自动加载logback.xml之前,如何定义logback变量/属性?

在logback自动加载logback.xml之前,如何定义logback变量/属性?
EN

Stack Overflow用户
提问于 2014-06-16 08:27:09
回答 2查看 49K关注 0票数 26

我的公司有一个环境管理工具,使您能够在Java中以编程方式从环境中查找属性。我想利用此工具来配置logback。例如,假设我有一个如下所示的logback.xml (特别是文件附加器部分):

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- console appender -->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd/HH:mm:ss.SSS} [%thread] %-5level %logger{20}: %msg%n</pattern>
        </encoder>
    </appender>

    <!-- file appender -->
    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>${LOG_FILE:-/default/log/file/path</file>
        <encoder>
            <pattern>%d{yyyy-MM-dd/HH:mm:ss.SSS} [%thread] %-5level %logger{20}: %msg%n</pattern>
        </encoder>
    </appender>

    <root level="DEBUG">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </root>
</configuration>

因此,在本例中,我希望从环境(或操作系统,如果您愿意)中查找LOG_FILE属性,并在logback加载logback.xml之前将其传递给logback,以便它知道LOG_FILE的值。那么,我如何才能做到这一点呢?顺便说一句,我知道如何以编程方式定义文件附加器,但这不是我在这里想要的。

非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-18 04:37:15

在经历了相当多的挠头之后,我决定采用以下解决方案。

首先,将logback.xml放在类路径之外,这样logback就不会自动加载任何内容。

其次,将环境中的设置添加到系统属性中,以便logback可以在解析logback.xml时查找它们。

第三,在应用程序代码中以编程方式配置logback。(官方的logback文档中有one nice example。)

好了。

票数 12
EN

Stack Overflow用户

发布于 2019-12-05 20:33:53

试试这个:

在logback.xml中,通过% Property {myProperty}引用您的属性:

代码语言:javascript
复制
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>
            %property{myProperty} - %m%n%wEx
        </pattern>
    </encoder>
    </appender>

在应用程序运行时设置属性:

代码语言:javascript
复制
LoggerContext loggerContext = (LoggerContext)LoggerFactory.getILoggerFactory();
loggerContext.putProperty("myProperty", "myProperty12345");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24235296

复制
相关文章

相似问题

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