Tomcat版本: 8.0.30
我有一个Java应用程序,它使用部署在Linux 8中的Log4j2 (Centos 7),由于某种原因,没有任何东西被写入应用程序日志。不过,我知道我的配置应该能工作,因为它完全可以在另一台服务器上工作。
我注意到的服务器与不工作的服务器之间唯一的区别是,在服务器启动时的catalina.out中,我在服务器上看到了以下警告:
log4j:WARN No appenders could be found for logger (org.springframework.web.context.support.StandardServletEnvironment
我尝试了几天,用一个运行于
使用“坞客日志”登录EC2实例
在Cloud的logGroup中显示我的日志条目
到目前为止,我最好的结果是:在云中观察日志的上20行( Spring in Ascii Art和Spring版本),仅此而已。当时,EC2实例上的对接器显示了与"docker日志“相同的内容,但是我的系统上相同的停靠记录通常是一样的。然而,我的大多数尝试都没有显示通过“码头日志”或云监视进行日志记录。但是,我的应用程序通过控制台通过log4j2进行日志记录,运行方式与配置完全相同。
即使是我的本地对接者与app.jar日志的预期(Windows7,docker,
我在Spring Boot项目中使用JSON文件进行log4j配置。我排除了spring-boot-starter-logging,并在pom文件中添加了spring-boot-starter-log4j2。
如果我将log4j2文件放在classpath上,我会看到日志按照设计正确地写入文件。但是,当我在启动时设置-Dlog4j.configurationFile时,会创建日志文件,但这些文件是空的,并且所有日志都会写入控制台。为了测试文件是否被读取,在debug中,我看到找到并读取了JSON文件。此外,当我设置一个假位置时,应用程序根本不启动,而是抛出一个file not found异常。
我有一个标准的Spring Boot微服务,它使用Log4j2来记录所有日志。 我想要优雅地关闭spring boot应用程序,以防日志记录失败(例如。磁盘已满)。有没有办法设置它? 参考:How to handle disk full errors while logging in logback? -->这个问题没有回答这个特定的问题。https://logging.apache.org/log4j/2.x/manual/appenders.html#FailoverAppender -->阅读FailoverAppender的文档,我不确定这是不是符合要求的文档。
Eclipse: 2019-06 (4.12.0)
Java: 1.8.0_201
Log4J2: whatever is pulled in by spring-boot-starter-log4j2 - might be 2.11.2 (mvn dependency:tree)
Spring Boot: 2.1.6.RELEASE
我有一组使用Log4J2进行日志记录的Spring服务。日志记录是为两个捕获设置的: 1)控制台输出到文本日志文件;2)由特定类生成的输出,用于向单独的JSON文件报告统计信息。
当我通过启动脚本(在Linux上)执行服务时,输出将正确地写入它们各自的文件中。但