Logback日志Maven多模块

时间:2020-10-27 11:38:55

标签: java spring-boot maven logback wildfly-13

我正在开发一个由多个模块组成的应用程序,该应用程序将部署在wildfly 13上。其中一个模块正在将我的另一个项目用作jar maven依赖项。(包含在pom中)

期望

我希望我的依赖项使用自己的logback.xml登录自己的文件。我希望应用程序使用其自己的logback.xml文件登录控制台,并使用一个独立于依赖项的文件登录。

现在做什么

目前,两个应用程序模块( com.test.app.console.ca.operation

包含jar依赖项和依赖项的

使用依赖项的logback.xml,所有内容均记录在同一文件中。这对我来说很奇怪,因为主应用程序中的其他模块(没有库jar中的依赖项)正在正确地登录正确的文件。

能帮我理解和解决这个问题吗?

有关项目的详细信息

两者都使用logback作为记录器。依赖性是一种安全性实现,它将通信信息记录在一个文件中,该文件必须与应用程序日志不在同一个文件中。应用程序和依赖项都具有经典的maven结构,其中logback.xml文件位于资源文件夹中。

主要模块logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
    <property resource="application.properties" />
    <appender name="STDOUT"
        class="ch.qos.logback.core.ConsoleAppender">
        <!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder 
            by default -->
        <encoder>
            <pattern>%d{ISO8601} [%thread] %-5level %logger - %msg %n</pattern>
        </encoder>
    </appender>
    <!--Application Log (Daily rolling file appender) -->
    <appender name="appCaLog"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>${jboss.server.log.dir}/main_modules_app.log</File>
        <rollingPolicy
            class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${jboss.server.log.dir}/main_modules_app.log.%d{yyyy-MM-dd}.log
            </FileNamePattern>
        </rollingPolicy>

        <encoder>
            <pattern>%d{ISO8601} [%thread] %-5level %logger - %msg %n</pattern>
        </encoder>
    </appender>

    <logger name="com.test.app.console.ca.usermanagement"
        level="${cops.usermanagement.log.level}" additivity="false">
        <appender-ref ref="appCaLog" />
    </logger>

    <logger name="com.test.app.console.ca.operation"
        level="${cops.operation.log.level}" additivity="false">
        <appender-ref ref="appCaLog" />
    </logger>

    <logger name="com.test.app.console.ca"
        level="${cops.main.log.level}" additivity="false">
        <appender-ref ref="appCaLog" />
    </logger>

    <root level="INFO">
        <appender-ref ref="appCaLog" />
    </root>
</configuration>

依赖项logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
    <appender name="STDOUT"
        class="ch.qos.logback.core.ConsoleAppender">
        <!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder 
            by default -->
        <encoder>
            <pattern>%d{ISO8601} [%thread] %-5level %logger - %msg %n</pattern>
        </encoder>
    </appender>
    <!--Application Log (Daily rolling file appender) -->
    <appender name="dependencyCaCryptoLog"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>${jboss.server.log.dir}/dependency_module.log</File>
        <rollingPolicy
            class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${jboss.server.log.dir}/dependency_module.log.%d{yyyy-MM-dd}.log
            </FileNamePattern>
        </rollingPolicy>

        <encoder>
            <pattern>%d{ISO8601} [%thread] %-5level %logger - %msg %n</pattern>
        </encoder>
    </appender>

    <logger name="com.test.app.console.ca.crypto"
        level="INFO" additivity="false">
        <appender-ref ref="dependencyCaCryptoLog" />
    </logger>

    <root level="INFO">
        <appender-ref ref="dependencyCaCryptoLog" />
    </root>
</configuration>

0 个答案:

没有答案
相关问题