(转载)SpringBoot 日志文件输出

原文链接:

https://sqhl.xyz/article?id=6

 

一、直接配置application.yml文件,输出SpringBoot默认的日志

 

logging:
  file:
    max-size: 100MB # 最大日志文件大小
    max-history: 15 # 日志保存15    total-size-cap: 4096mb # 日志备份的总大小
  path: D:/Logs

效果:

所有类型的文件直接写在spring.log里面


(转载)SpringBoot 日志文件输出_第1张图片
 
更多配置选项
官方文档:  https://docs.spring.io/spring-boot/docs/2.2.7.RELEASE/reference/html/spring-boot-features.html#boot-features-logging-file-output
在4.6节有详细说明
 

二、使用logback-spring.xml进行配置

SpringBoot默认提供Java.Util.Logging 、Log4J2、和LogBack的配置。当然,也可以自定义。

对应的加载以下文件。

Logging System Customization

Logback

logback-spring.xmllogback-spring.groovylogback.xml, or logback.groovy

Log4j2

log4j2-spring.xml or log4j2.xml

JDK (Java Util Logging)

logging.properties

这里以logback-spring.xml为例。

 

1. 配置 application.yml

logging:
  config: classpath:logbak-spring.xml

在 resources下,创建logbak-spring.xml文件

xml version="1.0" encoding="UTF-8"?>
<configuration>
    <property name="LOG_HOME" value="D:/mes2-Logs/LotOperation" />
    <property name="LOG_ERROR_HOME" value="D:/mes2-Logs/LotOperation/error" />

    
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger[%line] - %msg %npattern>
        encoder>
    appender>

    
    <appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
        
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/app.%d{yyyy-MM-dd}.%i.logfileNamePattern>
            
            <maxHistory>30maxHistory>
            
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                
                <maxFileSize>100MBmaxFileSize>
            timeBasedFileNamingAndTriggeringPolicy>
        rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger[%line] - %msg %npattern>
        encoder>
    appender>

    
    <appender name="errorRollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
        
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_ERROR_HOME}/app.error.%d{yyyy-MM-dd}.%i.logfileNamePattern>
            
            <maxHistory>30maxHistory>
            
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                
                <maxFileSize>100MBmaxFileSize>
            timeBasedFileNamingAndTriggeringPolicy>
        rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger[%line] - %msg %npattern>
        encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERRORlevel>
            <onMatch>ACCEPTonMatch>
            <onMismatch>DENYonMismatch>
        filter>
    appender>
configuration>

 

效果:


(转载)SpringBoot 日志文件输出_第2张图片

 

三、使用logg4j2进行日志输出

略。网上资源很多

 

你可能感兴趣的:(备忘笔记)