来自不同记录器的不同文件-log4j2

dz6r00yl  于 2021-08-25  发布在  Java
关注(0)|答案(0)|浏览(183)

我开发了一个基于java jboss的web应用程序,我用log4j2手动向我的应用程序添加日志,在我的应用程序开发过程中,我不得不为设备使用商业库,这些库自动记录活动(在依赖项中,还有一个版本的log4j2由它们 Package )。然而,当我启动我的应用程序时,所有日志都会重定向到我的文件,并且会跳过jboss的日志配置和我正在使用的商业解决方案(专用日志文件不再更新)。如何独立于其他记录器配置我的log4j2配置文件?
我附上我的log4j2配置:

<Configuration status="WARN">
        <Appenders>
                <RollingFile
                        name="RollingLogFile"
                        fileName="${sys:user.home}/logs/myfolder/myapp.log"
                        filePattern="${sys:user.home}/logs/myfolder/myapp-%d{yyyy-MM-dd}.log.gz"
                        createOnDemand="true"
                        ignoreExceptions="false">
                        <PatternLayout pattern="[%d{HH:mm:ss.SSS}] %-5level %logger{36} - %msg%n"/>
                        <Policies>
                                <TimeBasedTriggeringPolicy interval="1"/>
                                <OnStartupTriggeringPolicy />
                        </Policies>
                        <DefaultRolloverStrategy max="5"/>
                </RollingFile>
        </Appenders>
        <Loggers>
                <!-- i solved by raising the other class that i dont want to log in my file  -->
                <Logger name="org.jboss" level="fatal"/>
                <Logger name="com.thirdpartiesLib" level="fatal"/>

                <Logger name="org.myclass" level="debug"/>

                <Root additivity="false">
                        <AppenderRef ref="RollingLogFile"/>
                </Root>
        </Loggers>
</Configuration>

通过这种方式,我可以只隔离我想要保留的日志,但是其他日志文件(例如,“com.thirdpartieslib”,它应该位于文件系统的另一部分,并由另一个配置文件管理)不再更新,在这种情况下,如果它的日志记录“致命”级别将添加到我的文件中。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题