将 Tomcat 9 个 servlet 异常日志重定向到 log4j2
Redirect Tomcat 9 servlet exception logs to log4j2
我正在使用 log4j2 记录我的 JSF 网络应用程序。
我在 WEB-INF 文件夹下创建了 log4j2.xml 文件并配置了它
然后将这些依赖项添加到我的 pom.xml 并在我的应用程序中使用 log4j2
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.13.3</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.13.3</version>
</dependency>
我按照官方指南将 log4j2 与我的 Tomcat 9 集成在这里 Tomcat log4j2
我在步骤 3 中将 org.apache.logging.log4j:log4j-jul:2.13.3
jar 添加到创建的 lib 目录中,然后通过将以下代码添加到 setenv.bat 中的 Tomcat/bin 来配置 Tomcat 日志记录]
set LOGGING_MANAGER=-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager
现在我可以获得 Tomcat 日志消息,我的 Web 应用程序日志和 JSF 日志根据我的 log4j2 格式打印。
问题是,我仍然收到 javax.servlet.ServletException
不符合我的 log4j2 日志格式的消息。他们似乎忽略了我的 log4j2 配置。
我该如何解决这个问题?
谢谢。
我发现 javax.servlet.ServletException
消息没有被我的应用程序处理。因此,它们没有根据我的 log4j2 配置进行格式化。我通过创建自定义 JSF 异常处理程序并使用 log4j2 记录捕获的异常解决了这个问题。
我正在使用 log4j2 记录我的 JSF 网络应用程序。
我在 WEB-INF 文件夹下创建了 log4j2.xml 文件并配置了它
然后将这些依赖项添加到我的 pom.xml 并在我的应用程序中使用 log4j2
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.13.3</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.13.3</version> </dependency>
我按照官方指南将 log4j2 与我的 Tomcat 9 集成在这里 Tomcat log4j2
我在步骤 3 中将
org.apache.logging.log4j:log4j-jul:2.13.3
jar 添加到创建的 lib 目录中,然后通过将以下代码添加到 setenv.bat 中的 Tomcat/bin 来配置 Tomcat 日志记录]set LOGGING_MANAGER=-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager
现在我可以获得 Tomcat 日志消息,我的 Web 应用程序日志和 JSF 日志根据我的 log4j2 格式打印。
问题是,我仍然收到 javax.servlet.ServletException
不符合我的 log4j2 日志格式的消息。他们似乎忽略了我的 log4j2 配置。
我该如何解决这个问题?
谢谢。
我发现 javax.servlet.ServletException
消息没有被我的应用程序处理。因此,它们没有根据我的 log4j2 配置进行格式化。我通过创建自定义 JSF 异常处理程序并使用 log4j2 记录捕获的异常解决了这个问题。