我在tomcat 9+上部署了一个java应用程序。我知道如何将默认的tomcat日志记录改为使用log4j2。我已经通过遵循这个https://logging.apache.org/log4j/2.x/log4j-appserver/index.html做到了这一点。我想知道的是,除了将默认的tomcat日志记录更改为使用log4j2之外,是否可以只对我的war文件使用log4j2,而无需更改代码。我的应用程序使用JUL进行日志记录。
发布于 2021-11-10 13:08:29
如今,几乎任何日志记录配置都是可能的。
Tomcat使用特殊的JUL LogManager
(参见ClassLoaderLogManager
),允许在每个应用程序中指定不同的JUL配置。
要将所有JUL日志从应用程序重定向到Log4j2,最简单的方法是通过SLF4j。为此,请执行以下操作:
jul-to-slf4j
和slf4j-api
添加到项目中,WEB-INF/classes/logging.properties
配置文件:SLF4JBridgeHandler
= org.slf4j.bridge.SLF4JBridgeHandler .handlers =handlerslog4j-core
、log4j-api
和log4j-web
,以及SLF4j binding Log4j 2.x。警告:此解决方案中存在性能损失(参见SLF4j documentation)。
https://stackoverflow.com/questions/69916589
复制