相关文章推荐

在Linux中使用Spring Boot时,Log4j2没有创建日志文件

0 人关注

我正在使用Log4j2来记录Spring Boot的日志,但它没有创建日志文件。下面是我对Log4j2的配置和我添加的依赖项。

Log4j2配置 -

    <?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout
                pattern="%style{%d{ISO8601}}{black} %highlight{%-5level }[%style{%t}{bright,blue}] %style{%C{1.}}{bright,yellow}: %msg%n%throwable" />
        </Console>
        <!-- File Appender -->
        <File name="File" fileName=".logs/app.log">
          <PatternLayout pattern="%d{yyyy-MMM-dd HH:mm:ss a} [%t] %-5level %logger{36} - %msg%n" />
        </File>
    </Appenders>
    <Loggers>
        <!-- LOG everything at INFO level -->
        <Root level="info">
            <AppenderRef ref="Console" />
            <AppenderRef ref="File" />
        </Root>
        <!-- LOG "com.baeldung*" at TRACE level -->
        <Logger name="com.ams" level="trace">
            <AppenderRef ref="File" />
        </Logger>
    </Loggers>
</Configuration>

Pom.xml

<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>
    <!-- Add Log4j2 Dependency -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j2</artifactId>
    </dependency>

是否有任何其他配置或依赖,我需要添加? 因为根据网络上的博客log4j2应该用上面提供的配置创建日志文件。

linux
spring
spring-boot
logging
log4j2
Jainesh kumar
Jainesh kumar
发布于 2019-01-10
2 个回答
FishingIsLife
FishingIsLife
发布于 2020-05-05
已采纳
0 人赞同

也许 this 链接会对你有所帮助。 在我的案例中,我不得不在pom xml中排除spring boot startet的日志,因为否则默认的日志logback是有效的,log4j将不会被使用。

    <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>
    
Pradeep Prabhakaran
Pradeep Prabhakaran
发布于 2020-05-05
0 人赞同

也许,这已经很晚了,但还是想回答一下这个问题。我把spring-boot-starter-log4j2的依赖关系加入到pom中,并排除了spring-boot-starter-logging的依赖关系。另外,要感谢@medTech的回答,他的回答让我尝试了他的解决方案的不同变化。
请注意,我正在使用 弹簧船2.2.6.RELEASE , this is not tested with 1.x version .

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
 
推荐文章