要实现 Spring Boot 自带的 Logback 配置指定目录下的代码中的 log 单独记录,可以按照以下步骤进行:

  1. src/main/resources 目录下创建 logback-spring.xml 文件,该文件为 Logback 的配置文件。可以参考 Logback 的官方文档进行配置。

  2. logback-spring.xml 文件中,定义一个新的 Appender,用于记录指定目录下的日志。可以使用 RollingFileAppender 来实现日志的滚动记录。

<appender name="customAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>/path/to/logfile.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
        <fileNamePattern>/path/to/logfile-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
        <maxFileSize>10MB</maxFileSize>
        <maxHistory>7</maxHistory>
    </rollingPolicy>
    <encoder>
        <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
</appender>

替换 /path/to/logfile.log 为指定目录下的日志文件路径,替换 /path/to/logfile-%d{yyyy-MM-dd}.%i.log 为日志文件的滚动命名模式。

  1. logback-spring.xml 文件中,为指定的代码包或类配置日志记录器,并将其关联到新定义的 Appender。
<logger name="com.example.package" level="DEBUG" additivity="false">
    <appender-ref ref="customAppender" />
</logger>

替换 com.example.package 为指定的代码包或类路径。

  1. logback-spring.xml 文件中,为其他代码包或类配置默认的日志记录器。
<root level="INFO">
    <appender-ref ref="CONSOLE" />
    <appender-ref ref="FILE" />
</root>

这将保持其他代码包或类的默认日志记录器不受影响。

  1. 在 Spring Boot 的配置文件(例如 application.propertiesapplication.yml)中,将日志的配置文件设置为 logback-spring.xml
logging.config=classpath:logback-spring.xml

或者

logging:
  config: classpath:logback-spring.xml
  1. 重新启动应用程序,日志将根据配置文件中的设置进行记录。指定目录下的代码中的日志将被单独记录到指定的日志文件中。

原文地址: https://www.cveoy.top/t/topic/o5wm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录