如果我在application.properties文件中指定“Logging.config=src/main/resources/log4j2.properties”,日志记录就可以正常工作。
spring boot自动检测log4j2.properties而不需要在application.properties文件中指定“logging.config=src/main/resources/log4j2.properties”...?
Spring Boot自动检测类路径中的log4j2.xml、log4j2.json文件,但不检测case log4j2.properties文件(在我的例子中
我的pom.xml:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
name=PropertiesConfig
appenders = console, file
appender.console.type = Console
appender.console.name = ConsoleAppender
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d{MM:dd HH:mm:ss.SSS} [%t]
[%level] [%logger{36}] - %msg%n
appender.file.type = File
appender.file.name = FileAppender
appender.file.fileName=/home/ubuntu/application.log
appender.file.layout.type=PatternLayout
appender.file.layout.pattern= %d{MM:dd HH:mm:ss.SSS} [%t] [%level]
[%logger{36}] - %msg%n
loggers=file
logger.file.name=com.project
logger.file.level = debug
logger.file.appenderRefs = file
logger.file.appenderRef.file.ref = FileAppender
rootLogger.level = debug
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = ConsoleAppender
注意:我使用的Spring Boot版本是2.1.3
参考:https://docs.spring.io/spring-boot/docs/current/Reference/html/howto-logging.html
我不知道Spring Boot修改了log4j2用来定位配置文件的逻辑。事实上,我一直在开发一个使用log4j2.yml的Spring Boot服务。我用log4j2.properties替换了它,它工作得很好。log4j的正常发现过程会在类路径上找到它。
实际上,我感到惊讶的是,指定logging.config=src/main/resources/log4j2.properties
对您有效,因为Spring Bootjar中通常不会有“src”目录。
我使用Spring Boot和log4j2进行日志记录,因为我希望日志写在文件上而不是控制台上。所以我实现了log4j2.properties并将其保存在Spring Boot项目的资源文件夹下。
我试图从log4j1更改为log4j2。我所做的: 已删除旧配置文件log4j。xml 创建了新的配置文件log4j2。xml 创建了jboss部署结构。xml 编辑的pom 环境:野蝇10 1 EAR 4 WAR文件中没有使用web.xml。以前的log4j配置日志在EAR中(仅) Log4j2配置文件 Jboss部署结构 新的maven依赖关系 我之前说过我在SLF4j中使用log4j1。这些
我按照这里的教程SpringEureka教程创建了一个基本的Eureka注册表jar应用程序。下一步是将日志记录更改为log4j2,这样我就可以使用Spring log4j2指南中的指南获得一个滚动文件。 我遇到的问题是,当我运行应用程序时,没有抛出错误,但是 eureka服务器日志仍会输出到控制台 已创建自定义日志输出文件“eureka.log”,但该文件为空 我编写的任何自定义日志,例如
我正在使用带有log4j2的Spring Boot1.5.9,当我测试日志记录功能时,创建了日志文件,但没有将日志写入其中,而控制台日志记录程序运行良好。请在pom.xml&log4j2.properties配置下面找到。 log4j2.properties文件: