【问题标题】:How to force Logback to use logging config from jar for classes defined in this jar?如何强制 Logback 将 jar 中的日志记录配置用于此 jar 中定义的类?
【发布时间】:2019-06-25 21:50:28
【问题描述】:

我有使用 Logger 的类的 jar 包。 此 jar 作为依赖项添加到应用程序中。 我有几个logback-test.xml 文件。第一个文件在我的应用程序中定义,第二个在 jar.如果 jar 中的类使用名称为 my-custom-logger 的记录器,则必须遵循在第二个文件(在 jar 中)中定义的配置。但是,未使用此配置。应用程序始终使用第一个配置文件。 我的应用程序在 Tomcat 上运行,所以我认为 Tomcat 正在响应日志记录。

有人可以建议如何解决这个问题吗?

第一个文件:

<configuration>
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%date{HH:mm:ss.SSS} %highlight(%-5level) [%cyan(%-40.40logger{39})] %msg %gray(%mdc) %red(%rootException) %n</pattern>
    </encoder>
</appender>

<!-- root -->
<root level="info">
    <appender-ref ref="CONSOLE" />
</root>

第二个文件(来自jar):

<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <layout class="ch.qos.logback.classic.PatternLayout">
        <Pattern>
            %date{EEE dd HH:mm:ss} [specific prefix] [%thread] %-5level %logger{0} - %msg%n
        </Pattern>
    </layout>
</appender>

<logger name="my-custom-logger" level="info" additivity="false">
    <appender-ref ref="STDOUT" />
</logger>

<root level="INFO">
    <appender-ref ref="STDOUT"/>
</root>

【问题讨论】:

    标签: tomcat logging jar config logback


    【解决方案1】:

    我建议您使用 include 标记将您的第二个配置文件(jar 中的那个)包含在第一个配置文件(您的应用程序使用的那个)中。

    下面是include的用法示例:

    <configuration>
        <include resource="logback-second.xml"/> <!-- here I included the configuration file from jar using it's name
        <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%date{HH:mm:ss.SSS} %highlight(%-5level) [%cyan(%-40.40logger{39})] %msg %gray(%mdc) %red(%rootException) %n</pattern>
        </encoder>
    </appender>
    
    <!-- root -->
    <root level="info">
        <appender-ref ref="CONSOLE" />
    </root>
    

    【讨论】:

    • 包含对我有用的资源,注意:在包含的文件(第二个文件)中,确保您使用标签 included 而不是 configuration
    猜你喜欢
    • 1970-01-01
    • 2022-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-01
    • 2022-11-07
    • 1970-01-01
    相关资源
    最近更新 更多