(转载)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里面


 
更多配置选项
在4.6节有详细说明
 

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

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

对应的加载以下文件。

Logging SystemCustomization

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 %n</pattern>
        </encoder>
    </appender>

    <!-- 文件输出 -->
    <appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- <file>${LOG_HOME}/app.log</file> -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/app.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!-- 如果按天来回滚,则最大保存时间为30天,30天之前的都将被清理掉,这里的值与滚动策略模式有关 -->
            <maxHistory>30</maxHistory>
            <!-- 按照日期进行归档,并且对日志文件大小进行限制 -->
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!-- 设置文件大于100MB进行压缩归档 ,此时fileNamePattern要加%i -->
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger[%line] - %msg %n</pattern>
        </encoder>
    </appender>

    <!-- ERROR文件输出 -->
    <appender name="errorRollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- <file>${LOG_HOME}/app.log</file> -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_ERROR_HOME}/app.error.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!-- 如果按天来回滚,则最大保存时间为30天,30天之前的都将被清理掉,这里的值与滚动策略模式有关 -->
            <maxHistory>30</maxHistory>
            <!-- 按照日期进行归档,并且对日志文件大小进行限制 -->
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!-- 设置文件大于100MB进行压缩归档 ,此时fileNamePattern要加%i -->
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger[%line] - %msg %n</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>
</configuration>

 

效果:


 

三、使用logg4j2进行日志输出

略。网上资源很多

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值