【发布时间】:2023-09-16 10:18:01
【问题描述】:
如何将 Tomcat 9 的内部日志记录(catalina 和 localhost)重定向到 Log4j2?
虽然有许多适用于旧版本 Tomcat 和 Log4j 的指南,但我找不到任何关于 Tomcat 9 和 Log4j2 的“完整”指南; Apache Tomcat 9 documentation 指向“替代日志框架提供的说明”,Apache Log4j documentation 状态(2. 中的 jar 名称已更正):
Log4j 可以用作 Apache Tomcat 的日志框架。这 通过包含 log4j-api 自动实现支持, 引导类路径中的 log4j-core 和 log4j-appserver jar。一份文件 命名为 log4j2-tomcat.xml、log4j2-tomcat.json、log4j2-tomcat.yaml、 log4j2-tomcat.yml 或 log4j2-tomcat.properties 也必须放在 引导类路径。这最容易通过以下方式完成:
- 在 catalina home 中创建一组名为 log4j2/lib 和 log4j2/conf 的目录。
- 将 log4j-api-2.12.0.jar、log4j-core-2.12.0.jar 和 log4j-appserver-2.12.0.jar 放在 log4j2/lib 目录中。
- 在中创建名为 log4j2-tomcat.xml、log4j2-tomcat.json、log4j2-tomcat.yaml、log4j2-tomcat.yml 或 log4j2-tomcat.properties 的文件 log4j2/conf 目录。
- 在tomcat bin 目录中创建或修改setenv.sh 以包含
CLASSPATH=$CATALINA_HOME/log4j2/lib/*:$CATALINA_HOME/log4j2/conf
但是要在 log4j2-tomcat.* 配置文件中添加什么?
【问题讨论】: