我开发了一个基于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”,它应该位于文件系统的另一部分,并由另一个配置文件管理)不再更新,在这种情况下,如果它的日志记录“致命”级别将添加到我的文件中。
暂无答案!
目前还没有任何答案,快来回答吧!