【问题标题】:My containerized tomcat web application doesn't see configured log4j2.xml我的容器化 tomcat Web 应用程序看不到配置的 log4j2.xml
【发布时间】:2020-07-06 04:58:25
【问题描述】:

我的 Web 应用程序可以与在 aws ec2 实例上创建的 log4j2.xml 文件一起正常工作。但现在我将它容器化并在 ECS Fargate 中运行。我可以在 CloudWatch 中看到 catalina 日志,但看不到我在 log4j2.xml 文件中配置的应用程序特定日志。 log4j2.xml 位于像/var/webapp/conf 这样的特定路径中,我已将路径作为shared.loader=/var/webapp/conf 放在catalina.properties 中。另外,我在我的 catalina 日志中看到了这个错误:

ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property 'log4j2.debug' to show Log4j2 internal initialization logging.

注意:我不想更改 tomcat 默认日志记录。我只是尝试将我的应用程序日志也发送到控制台,这样我就可以在一个 CloudWatch 日志流中查看所有日志。

【问题讨论】:

    标签: docker containers log4j2 amazon-ecs amazon-cloudwatch


    【解决方案1】:

    您的 Fargate 任务无法识别 log4j 日志记录驱动程序的配置。原因是,对于 Fargate 任务,我们只能通过任务定义设置一些特定的日志记录驱动程序。

    适用于 Fargate 的 Amazon ECS 任务定义支持用于日志配置的 awslogs、splunk、firelens 和 fluentd 日志驱动程序。

    我推荐使用 CloudWatch 日志驱动:

    【讨论】:

      猜你喜欢
      • 2015-11-30
      • 2014-02-17
      • 1970-01-01
      • 1970-01-01
      • 2015-04-05
      • 1970-01-01
      • 1970-01-01
      • 2011-07-10
      • 2013-08-21
      相关资源
      最近更新 更多