使用Log4j2进行Spring引导日志记录
编写简单的POC来证明和测试Spring Boot和log4j2的兼容性。一旦成功,我将把它转移到真正的应用程序 请参考我的POC源代码: 我从以下网站了解/了解Spring版本和log4j2兼容性: 找到并尝试了此处描述的建议: 但仍然不起作用。问题是应用程序日志和Spring日志都只打印到控制台 请参考以下maven依赖项(来自POC):使用Log4j2进行Spring引导日志记录,spring,spring-boot,log4j2,Spring,Spring Boot,Log4j2,编写简单的POC来证明和测试Spring Boot和log4j2的兼容性。一旦成功,我将把它转移到真正的应用程序 请参考我的POC源代码: 我从以下网站了解/了解Spring版本和log4j2兼容性: 找到并尝试了此处描述的建议: 但仍然不起作用。问题是应用程序日志和Spring日志都只打印到控制台 请参考以下maven依赖项(来自POC): org.springframework.boot SpringBootStarterWeb org.springframework.boot sp
org.springframework.boot
SpringBootStarterWeb
org.springframework.boot
spring启动程序日志记录
org.springframework.boot
spring-boot-starter-log4j2
org.apache.logging.log4j
log4j型芯
2.6.2
org.apache.logging.log4j
log4japi
2.6.2
如果我不排除Spring的logback,也不添加boot-starter-log4j2,那么应用程序日志将打印到应用程序文件中,但Spring日志根本不会打印。我感觉到了依赖性的问题。感谢您的帮助。根据Spring Boot文档,可以使用
logging.config
属性指定日志配置文件的位置。我注意到您的start.sh脚本正在传递-Dlog4j.configurationFile
。通常,这对于直接的log4j2集成来说已经足够了,但是Spring引导使用logging.config
切换到此状态后,它会写入日志文件:
java -Dlogging.config=/share/LogPOC/log4j2.xml -cp poc.jar:libs/* com.poc.logger.Application
根据Spring引导文档,可以使用
logging.config
属性指定日志配置文件的位置。我注意到您的start.sh脚本正在传递-Dlog4j.configurationFile
。通常,这对于直接的log4j2集成来说已经足够了,但是Spring引导使用logging.config
切换到此状态后,它会写入日志文件:
java -Dlogging.config=/share/LogPOC/log4j2.xml -cp poc.jar:libs/* com.poc.logger.Application
今天尝试了这个,得到了控制台的错误消息:“Error StatusLogger找不到log4j2配置文件。使用默认配置:只将错误记录到控制台。”但是所有这些都很好。我在application.log、Spring-framework.log和other.log中看到应用程序日志。谢谢你的帮助!根据log4j文档,它需要'-Dlog4j.configurationFile',不确定它是否正确初始化(错误消息解释相同)。今天尝试此操作后,控制台收到错误消息:“error StatusLogger未找到log4j2配置文件。使用默认配置:仅将错误记录到控制台。”但所有操作都很好。我在application.log、Spring-framework.log和other.log中看到应用程序日志。谢谢你的帮助!根据log4j文档,它需要'-Dlog4j.configurationFile',不确定它是否正确初始化(错误消息对此进行了解释)。