Java 未根据Log4j2.properties加载日志
在我的项目中,我正在升级到Log4j到Log4j2。我已经将log4j2.properties放在类路径中,并加载它。尽管如此,日志并不是根据log4j2.properties中定义的属性生成的 例如,我将属性设置为 appender.console.layout.pattern=%d{yyyyy dd HH:mm:ss.SSS}%级别[%t][%c][%M][%l]-%msg%n 但日志正在打印为 2020-05-20 16:12:43.060调试58312-[main]o.s.c.a.ClassPathBeanDefinitionScanner:已识别的候选组件类:文件[D:\workspace\MetricsDailySummaryDao.class] 2020-05-20 16:12:43.061调试58312-[main]o.s.c.a.ClassPathBeanDefinitionScanner:已识别的候选组件类:文件[D:\workspace\MetricsDao.class] 2020-05-20 16:12:43.061调试58312-[main]o.s.c.a.ClassPathBeanDefinitionScanner:已识别的候选组件类:文件[D:\workspace\MetricsHourlySummaryDao.class] 我们可以看到。。虽然在我的财产我已经删除了这个月,但它是打印日志 有人能提出解决办法吗 编辑 附加属性文件Java 未根据Log4j2.properties加载日志,java,spring,spring-boot,log4j,log4j2,Java,Spring,Spring Boot,Log4j,Log4j2,在我的项目中,我正在升级到Log4j到Log4j2。我已经将log4j2.properties放在类路径中,并加载它。尽管如此,日志并不是根据log4j2.properties中定义的属性生成的 例如,我将属性设置为 appender.console.layout.pattern=%d{yyyyy dd HH:mm:ss.SSS}%级别[%t][%c][%M][%l]-%msg%n 但日志正在打印为 2020-05-20 16:12:43.060调试58312-[main]o.s.c.a.Cla
status = debug
name= properties_configuration
# Give directory path where log files should get stored
# ConsoleAppender will print logs on console
appender.console.type = Console
appender.console.name = consoleLogger
appender.console.target = SYSTEM_OUT
appender.console.layout.type = PatternLayout
# Specify the pattern of the logs
appender.console.layout.ConversionPattern = %d{yyyy-dd HH:mm:ss} %level [%t] [%c] [%M] [%l] - %msg%n
rootLogger.level=debug
rootLogger.appenderRef.stdout.ref= STDOUT
logger.org.springframework.security=DEBUG
logger.org.apache.commons=ERROR
logger.httpclient.wire.header=WARN,OFA
logger.httpclient.wire.content=WARN,OFA
logger.bitronix.tm=ERROR
logger.org.quartz=INFO
logger.org.hibernate=INFO,RFA
logger.org.hibernate.type=INFO,RFA
logger.org.hibernate.transaction.JDBCTransaction=DEBUG,RFA
logger.org.hibernate.engine.StatefulPersistenceContext=INFO,OFA
logger.org.apache.axis=INFO,OFA
logger.org.apache.http=ERROR
logger.com.br.management.dashboard=ERROR,RFA
logger.com.br.management.security=INFO,RFA
logger.com.googlecode.ehcache=ERROR,OFA
logger.com.br.management.datagrid=INFO,OFA
logger.com.br.management.systemConfig=INFO,RFA
logger.com.br.management.policy=DEBUG
logger.com.br.management.monitoring=DEBUG,OFA
logger.com.br.management.billing=ERROR,OFA
logger.com.br.management.autonomics=DEBUG
答案与评论有关 在这里工作
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.3.0.RELEASE)
2020-21 10:58:59 INFO [main] [com.example.testlog.TestLogApplication] [logStarting] [org.springframework.boot.StartupInfoLogger.logStarting(StartupInfoLogger.java:55)] - Starting TestLogApplication on LAPTOP-S4VIHOJT with PID 23672 (C:\development\algaworks\workspace\test-log\target\classes started by joaozarate in C:\development\algaworks\workspace\test-log)
2020-21 10:58:59 INFO [main] [com.example.testlog.TestLogApplication] [logStartupProfileInfo] [org.springframework.boot.SpringApplication.logStartupProfileInfo(SpringApplication.java:651)] - No active profile set, falling back to default profiles: default
2020-21 10:59:00 INFO [main] [org.springframework.boot.web.embedded.tomcat.TomcatWebServer] [initialize] [org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:108)] - Tomcat initialized with port(s): 8080 (http)
2020-21 10:59:00 INFO [main] [org.apache.coyote.http11.Http11NioProtocol] [log] [org.apache.juli.logging.DirectJDKLog.log(DirectJDKLog.java:173)] - Initializing ProtocolHandler ["http-nio-8080"]
2020-21 10:59:00 INFO [main] [org.apache.catalina.core.StandardService] [log] [org.apache.juli.logging.DirectJDKLog.log(DirectJDKLog.java:173)] - Starting service [Tomcat]
2020-21 10:59:00 INFO [main] [org.apache.catalina.core.StandardEngine] [log] [org.apache.juli.logging.DirectJDKLog.log(DirectJDKLog.java:173)] - Starting Servlet engine: [Apache Tomcat/9.0.35]
2020-21 10:59:00 INFO [main] [org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]] [log] [org.apache.juli.logging.DirectJDKLog.log(DirectJDKLog.java:173)] - Initializing Spring embedded WebApplicationContext
2020-21 10:59:00 INFO [main] [org.springframework.web.context.ContextLoader] [prepareWebApplicationContext] [org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.prepareWebApplicationContext(ServletWebServerApplicationContext.java:284)] - Root WebApplicationContext: initialization completed in 1144 ms
2020-21 10:59:00 INFO [main] [org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor] [initialize] [org.springframework.scheduling.concurrent.ExecutorConfigurationSupport.initialize(ExecutorConfigurationSupport.java:181)] - Initializing ExecutorService 'applicationTaskExecutor'
2020-21 10:59:00 INFO [main] [org.apache.coyote.http11.Http11NioProtocol] [log] [org.apache.juli.logging.DirectJDKLog.log(DirectJDKLog.java:173)] - Starting ProtocolHandler ["http-nio-8080"]
2020-21 10:59:00 INFO [main] [org.springframework.boot.web.embedded.tomcat.TomcatWebServer] [start] [org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:220)] - Tomcat started on port(s): 8080 (http) with context path ''
2020-21 10:59:00 INFO [main] [com.example.testlog.TestLogApplication] [logStarted] [org.springframework.boot.StartupInfoLogger.logStarted(StartupInfoLogger.java:61)] - Started TestLogApplication in 1.739 seconds (JVM running for 2.539)
文件/test log/src/main/resources/application.properties为空
文件:/test log/pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.0.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>test-log</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>test-log</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>11</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</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>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
你能把你的属性文件放在这里吗?我想你可能需要使用appender.console.layout.ConversionPattern=%d{yyyyy dd HH:mm:ss.SSS}%level[%t][%c][%M][%M][%l]-%msg%n或者log4j.appender.stdout.layout.ConversionPattern=%d{yyyyyy dd HH:mm:ss.SSS}%level[%t][%c][%M][%l]-%msg%I已经放置了属性文件。你能检查一下吗@JoãoZarateLet让我知道@TapeshGupta。。。是的,我排除了pom文件@Joãozaratesome中的spring boot starter日志记录,我发现在我的情况下,可能是spring boot 2.1.3版本中的log4j2.xml文件正在运行,而不是我创建的文件。在调试模式下,我可以看到我的属性文件已加载,但在spring中,它被替换为log4j2.xml-boot@TapeshGupta那不是日志文件吗?Logback是Spring Boot中的标准配置。当我在IDE中运行它时,eclipse控制台中的日志来自Logback,但当我从终端运行它时,log4j2.properties将根据这些测试中获得的经验加载,下一次,我将使用Spring Boot本机日志引擎。我只运行eclipse。也许这就是它从logback加载的原因。现在我可以加载我的属性文件了。我在运行配置中的参数为-dloging.config=D:workspace\log4j2.propertiesExactly。。。如果从终端运行它,可能会根据日志文件获得输出日志
status = error
name = PropertiesConfig
filters = threshold
filter.threshold.type = ThresholdFilter
filter.threshold.level = info
appenders = console
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d{yyyy-dd HH:mm:ss} %level [%t] [%c] [%M] [%l] - %msg%n
rootLogger.level = info
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT