Skip to content

SpringBoot日志的文件输出

在Spring Boot中,日志的配置和输出是非常灵活的,可以通过不同的方式来定制日志的输出位置、格式等。Spring Boot默认使用的是Logback作为日志框架,但也可以很方便地切换到其他日志框架如log4j2。

使用Logback进行日志文件输出

  1. 修改application.propertiesapplication.yml

    在你的application.properties文件中添加以下配置:

    logging.file.name=logs/app.log

    或者在application.yml中:

    yaml
    logging:
      file:
        name: logs/app.log

    这会将日志输出到指定的文件路径下。

  2. 自定义日志配置文件

    如果你想更详细地定制日志输出(比如按日期归档、日志级别过滤等),可以在项目的resources目录下创建一个logback.xmllogback-spring.xml文件,并在其中配置你的日志规则。

    例如,一个简单的logback.xml可能如下所示:

    xml
    <configuration>
      <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>logs/app.log</file>
        <encoder>
          <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
      </appender>
    
      <root level="info">
        <appender-ref ref="FILE" />
      </root>
    </configuration>

    注意:如果使用logback-spring.xml,Spring Boot会自动加载这个文件并应用配置,无需在application.propertiesapplication.yml中额外配置。

切换到log4j2

如果你希望使用log4j2,你需要在pom.xmlbuild.gradle中添加相应的依赖,并移除默认的logback依赖。然后,在resources目录下创建log4j2.xml文件,编写你的日志配置。

例如,在log4j2.xml中:

xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <File name="AppLogFile" fileName="logs/app.log">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </File>
    </Appenders>
    <Loggers>
        <Root level="info">
            <AppenderRef ref="AppLogFile"/>
        </Root>
    </Loggers>
</Configuration>

通过上述步骤,你可以根据项目需求灵活配置Spring Boot的日志输出。