Spring Boot停止log4j日志记录

时间:2019-10-25 11:36:55

标签: spring log4j2

我想用spring boot 1.5.10.RELEASE配置log4j。我排除了spring-boot-starter-logging并添加了log4j依赖性。在春季启动开始之前,我拥有所有日志,但是在春季启动之后,启动日志已停止。

<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.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.11.0</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.12.1</version>
</dependency>

控制台日志:

...
2019-10-25 11:57:16,130 main DEBUG Registering MBean org.apache.logging.log4j2:type=18b4aac2,component=Appenders,name=LogToConsole
2019-10-25 11:57:16,130 main DEBUG Registering MBean org.apache.logging.log4j2:type=18b4aac2,component=Appenders,name=LogToFile

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::       (v1.5.10.RELEASE)

paź 25, 2019 11:57:18 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service [Tomcat]
paź 25, 2019 11:57:18 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.5.27

和log4j2.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
    <Appenders>
        <Console name="LogToConsole" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>
        <File name="LogToFile" fileName="logs/app.log">
            <PatternLayout>
                <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
            </PatternLayout>
        </File>
    </Appenders>
    <Loggers>
        <Logger name="src.main.java" level="debug" additivity="false">
            <AppenderRef ref="LogToFile"/>
            <AppenderRef ref="LogToConsole"/>
        </Logger>
        <Logger name="org.springframework.boot" level="error" additivity="false">
            <AppenderRef ref="LogToConsole"/>
        </Logger>
        <Root level="error">
            <AppenderRef ref="LogToFile"/>
            <AppenderRef ref="LogToConsole"/>
        </Root>
    </Loggers>
</Configuration>

知道我在做什么错吗?

1 个答案:

答案 0 :(得分:0)

您正在使用

<Logger name="src.main.java" level="debug" additivity="false"> .  == I simply replaced it with my package name present inside src/main/java and its now working.

就我而言,更改如下:-

<Loggers>
    <Logger name="com.example.demo.test" level="debug" additivity="false">
        <AppenderRef ref="fileLogger"/>
        <AppenderRef ref="console"/>
    </Logger>

    <Root level="info">
        <AppenderRef ref="fileLogger"/>
        <AppenderRef ref="console"/>
    </Root>
</Loggers>