【问题标题】:Log4j not picking up log4j.properties file from resources folderLog4j 没有从资源文件夹中获取 log4j.properties 文件
【发布时间】:2016-11-05 06:53:48
【问题描述】:

我正在开发 spring 项目并使用 log4j 进行日志记录。但是 log4j 使用其默认的日志记录样式,而不是从 log4j.properties 文件中获取属性。 “log4.properties”位于资源文件夹下。这是我的 pom.xml

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.6.RELEASE</version>
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
</dependencies>

这是我的 log4j.properties 文件

# Root logger option
log4j.rootLogger=DEBUG, stdout, file

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=logs/logging.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

【问题讨论】:

  • 您放置文件的文件夹的确切名称是什么?

标签: java spring maven logging log4j


【解决方案1】:

默认情况下,Spring Boot 通过 Logback (http://logback.qos.ch) 配置日志记录以在 INFO 级别登录到控制台。

将 Logback 换成另一个日志记录实现 一般来说,您永远不需要切换日志记录实现; Logback 应该适合你。但是,如果您决定更愿意使用 Log4j 或 Log4j2,则需要更改依赖项以包含要使用的日志记录实现的适当启动器并排除 Logback。 对于 Maven 构建,您可以通过排除由根启动器依赖项传递解析的默认日志记录启动器来排除 Logback:

Spring Boot 实战 克雷格墙

<dependencies>
...
<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>

...
</dependencies>

【讨论】:

    猜你喜欢
    • 2016-08-06
    • 2019-03-24
    • 2017-10-17
    • 1970-01-01
    • 1970-01-01
    • 2021-02-03
    • 2016-02-11
    • 2015-06-27
    • 1970-01-01
    相关资源
    最近更新 更多