【问题标题】:Redirect Tomcat 9 servlet exception logs to log4j2将 Tomcat 9 servlet 异常日志重定向到 log4j2
【发布时间】:2021-01-23 10:48:09
【问题描述】:

我正在使用 log4j2 来记录我的 JSF Web 应用程序。

  1. 我在WEB-INF文件夹下创建了log4j2.xml文件并进行了配置

  2. 然后将这些依赖项添加到我的 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>
    
  3. 我按照官方指南将 log4j2 与我的 Tomcat 9 集成在这里 Tomcat log4j2

  4. 我在步骤 3 中将 org.apache.logging.log4j:log4j-jul:2.13.3 jar 添加到创建的 lib 目录中,然后通过将以下代码添加到 Tomcat/bin 中的 setenv.bat 来配置 Tomcat 日志记录

    set LOGGING_MANAGER=-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager

现在我可以根据我的 log4j2 格式获取 Tomcat 日志消息、我的 Web 应用程序日志和 JSF 日志。

问题是,我仍然收到不符合我的 log4j2 日志格式的 javax.servlet.ServletException 消息。他们似乎忽略了我的 log4j2 配置。

我该如何解决这个问题?

谢谢。

【问题讨论】:

    标签: logging log4j2 tomcat9


    【解决方案1】:

    我发现我的应用程序没有处理 javax.servlet.ServletException 消息。因此它们没有根据我的 log4j2 配置进行格式化。我已通过创建自定义 JSF 异常处理程序并使用 log4j2 记录捕获的异常来解决此问题。

    【讨论】:

      猜你喜欢
      • 2020-04-23
      • 2015-09-02
      • 2021-09-11
      • 2016-02-14
      • 2014-04-11
      • 2021-07-13
      • 2020-05-22
      • 2015-06-14
      • 2011-03-10
      相关资源
      最近更新 更多