Spring启动应用程序日志记录

时间:2017-12-06 18:04:18

标签: spring spring-boot logging

我们有一个spring boot应用程序,在application.properties中我们设置要写入/var/log/onbase.log的日志文件位置

但是每当服务器启动时,还有一个日志写入var / onbaseAPP.log(这个日志填满了盒子上的内存,服务器挂断了)

我们在代码中没有任何人创建onbaseApp.log而不确定它是如何创建的

请帮忙。提前谢谢。

1 个答案:

答案 0 :(得分:2)

如果您使用Log4j或Log4j2,则需要更改依赖项以包含要使用的日志记录实现的相应启动器并排除Logback。

对于Maven构建,您可以通过排除由根启动程序依赖项传递解析的默认日志记录启动程序来排除Logback:

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

在Gradle中,最简单的方法是将排除项放在配置部分下:

configurations {
    all*.exclude group:'org.springframework.boot',
    module:'spring-boot-starter-logging'
}

排除默认日志记录启动器后,您现在可以包含日志记录的启动器 你宁愿使用的实现。使用Maven构建,您可以像这样添加Log4j:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j</artifactId>
</dependency>

在Gradle构建中,您可以像这样添加Log4j:

compile("org.springframework.boot:spring-boot-starter-log4j")

你的application.properties是这样的:

logging.path=/var/log/
logging.file=onbase.log
#logging.level.root=WARN
#logging.level.root.org.springframework.security=DEBUG

来源:Spring Boot正在行动 Craig Walls