SpringBoot+Logback 日志配置实例

可以使用  <springProperty/>读取配置文件中的配置项,参考:https://my.oschina.net/yejw/blog/1551697

总共可以使用两类方式:1、yml中 引入logback配置文件;2、yml中配置,使用默认属性,目前之摸索出下面列出的这些

application.yml

server:
  port: 80

# mysql
spring:
  application:
    name: saic-tsp-account
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
      config:
        server-addr: 127.0.0.1:8848



log:
  path: /Users/zhou/logs/saic
  file-name: ${spring.application.name}

logging:
#  file:
#    path: /Users/zhou/logs/saic
#    max-history: 7
#    name: ${spring.application.name}.log
#    clean-history-on-start: false
#    max-size: 10MB
#  level:
#    root: info
#    #mybatis sql log
#    com.baomidou.example.mapper: debug
  config: classpath:logback-spring.xml
#  pattern:
#    file: ${spring.application.name}.log.%d{yyyy-MM-dd}.log
#    console: %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
#    rolling-file-name: ${log.path}/${spring.application.name}/log.%d{yyyy-MM-dd}.%i.log.gz

logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>

<!--
说明:
    1. 文件的命名和加载顺序有关
       logback.xml早于application.yml加载,logback-spring.xml晚于application.yml加载
       如果logback配置需要使用application.yml中的属性,需要命名为logback-spring.xml
    2. logback使用application.yml中的属性
       使用springProperty才可使用application.yml中的值 可以设置默认值
-->

<!--<configuration scan="true" scanPeriod="60 seconds">-->
<configuration debug="false" >
    <!--设置存储路径变量-->
<!--    <property name="LOG_HOME" value="/Users/zhou/logs/saic"/>-->
    <!-- log base path -->
    <springProperty scope="context" name="LOG_HOME" source="log.path" defaultValue="logs"/>
    <springProperty scope="context" name="LOG_NAME" source="log.file-name" defaultValue="saic"/>
    <!-- 文件切割大小 -->
    <property name="maxFileSize" value="10MB" />
    <!-- 文档保留天数 -->
    <property name="maxHistory" value="30" />
    <!-- 文档保留总大小 -->
    <property name="totalSizeCap" value="1GB" />


    <!--控制台输出appender-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <!--设置输出格式-->
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
            <!--设置编码-->
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!--文件输出,时间窗口滚动-->
    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--日志名,指定最新的文件名,其他文件名使用FileNamePattern -->
        <File>${LOG_HOME}/${LOG_NAME}.log</File>
        <!--文件滚动模式-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名,可设置文件类型为gz,开启文件压缩-->
            <FileNamePattern>${LOG_HOME}/${LOG_NAME}/log.%d{yyyy-MM-dd}.%i.log.gz</FileNamePattern>
            <!--日志文件保留天数-->
            <maxHistory>${maxHistory}</maxHistory>
            <totalSizeCap>${totalSizeCap}</totalSizeCap>
            <!--按大小分割同一天的-->
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>${maxFileSize}</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>

        <!--输出格式-->
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
            <!--设置编码-->
            <charset>UTF-8</charset>
        </encoder>

<!--        &lt;!&ndash;日志文件最大的大小&ndash;&gt;-->
<!--        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">-->
<!--            <MaxFileSize>10MB</MaxFileSize>-->
<!--        </triggeringPolicy>-->
    </appender>

    <logger name="com.apache.ibatis" level="DEBUG"/>
    <logger name="java.sql.Connection" level="DEBUG"/>
    <logger name="java.sql.Statement" level="DEBUG"/>
    <logger name="java.sql.PreparedStatement" level="DEBUG"/>
    <logger name="com.baomidou.example.mapper" level="DEBUG"/>


    <!--指定基础的日志输出级别-->
    <root level="INFO">
        <!--appender将会添加到这个loger-->
        <appender-ref ref="console"/>
        <appender-ref ref="file"/>
    </root>
</configuration>

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值