如何强制的logback使用日志记录配置从罐子在这个罐子定义的类?

问题描述 投票:0回答:1

我有jar包与使用记录器类。这个jar加入到应用程序的依赖。我有几个logback-test.xml文件。第一个文件是在我的应用程序,在罐子中定义的第二定义。在情况下,从罐子类使用记录器与名称my-custom-logger有必要按照其在第二文件中定义(这是在罐子)构型。然而,不使用此配置。该应用程序总是使用第一个配置文件。我的应用程序在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>

所述第二文件(从罐):

<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个回答
1
投票

我建议你包括第一个配置文件中的第二个配置文件(在一个罐子里)使用包括标签(应用程序所使用的)。

波纹管的使用的一个例子包括:

<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>
© www.soinside.com 2019 - 2024. All rights reserved.