使用logback为springboot项目做日志记录

  • 在resources目录下新建 logback-spring.xml 文件,内容如下:

<configuration>
    
    <property name="LOG_HOME" value="/var/log"/>
    
    <property name="PREFIX" value="hello"/>
    
    <property name="SUFFIX" value="log"/>

    
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
           
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %magenta(%-5level) ---- %green([%class:%line]) - %cyan(%msg%n)pattern>
            <charset>UTF-8charset>
        encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFOlevel>
            <onMatch>ACCEPTonMatch>
            <onMismatch>DENYonMismatch>
        filter>
    appender>

    
    <springProfile name="dev">
        <root level="INFO">
            <appender-ref ref="CONSOLE"/>
        root>
    springProfile>

    
    <springProfile name="prod">
        
        <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${LOG_HOME}/${PREFIX}.${SUFFIX}file>
            <encoder>
                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%level] [%class:%line] - %msg%npattern>
            encoder>
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>INFOlevel>
                <onMatch>ACCEPTonMatch>
                <onMismatch>DENYonMismatch>
            filter>
            
            <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <fileNamePattern>${LOG_HOME}/${PREFIX}.%d{yyyyMMdd}.%i.${SUFFIX}fileNamePattern>
                
                <maxHistory>30maxHistory>
                
                <maxFileSize>10MBmaxFileSize>
            rollingPolicy>
        appender>

        
        <root level="INFO">
            <appender-ref ref="CONSOLE"/>
            <appender-ref ref="FILE"/>
        root>
    springProfile>

configuration>
  • dev 环境下的效果如下
    这里写图片描述
    从效果图中可以看出:日期的打印格式为 yyyy-MM-dd HH:mm:ss.SSS ,并且因为没有指定颜色,所以默认为黑色;日志级别的字体颜色为紫红色(%magenta);类名和行号用冒号分隔,且字体颜色为绿色(%green);具体的日志消息(%msg)是青色的(%cyan)
  • logback中,基于时间和日志文件大小的日志滚动策略的详解如下
    使用logback为springboot项目做日志记录_第1张图片

  • 为什么日志文件要放到resources目录下,为什么日志文件名是logback-spring.xml,请参考springboot文档

你可能感兴趣的:(Spring,Boot)