Java 未根据Log4j2.properties加载日志

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

在我的项目中,我正在升级到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] 我们可以看到。。虽然在我的财产我已经删除了这个月,但它是打印日志

有人能提出解决办法吗

编辑 附加属性文件

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