springboot(10)logback日志配置

springboot默认使用Logback来记录日志,且默认是只打印到控制台中,不会输出到文件。需要输出到文件中,只需要在配置文件application.properties中加上一句:loggin.file = xxx 即可。可以使用相对路径或者绝对路径。

logging.file=../logs/sbDemo-test.log

默认是输出INFO以上的内容,可以设置等级如:

logging.level.com.jvxb=DEBUG          (执行的sql是以debug的形式输出的,想在控制台显示sql,需要设置成debug)

ogging.level.root=WARN:root日志以WARN级别输出

有时候我们希望配置复杂一点的日志记录,如每天保存一次,每个日志文件多大,不同level的文件写入不同的日志记录这种,这时候你就要加载自己的日志配置文件了。 方法是在配置文件application.properties中加上一句:loggin.config=classpath:xxx.xml如下:然后把你自己日志配置的xml放到resource文件夹下即可。

logging.config=classpath:mylogbackConfig.xml

注:springboot默认去加载classpath下的logback-spring.xml,如果直接把logback-spring.xml文件放到classpath下,则不需要在application.properties中使用logging.config

PS:日志配置文件 mylogbackConfig.xml实例:

<configuration debug="false" scan="true" scanPeriod="10 seconds">
    <!-- 日志配置:
    	包名:com.jvxb,将该包下的所有日志按debug、info、warn、error等级分别保存到[项目同一级]
      文件夹sbDemo-Log下的logback_debug、logback_info、logback_warn、logback_error文件中。
      每日凌晨0点将日志文件归档保存为zip压缩包,每个压缩包最大30M,若压缩包文件大小超过30M,将会被保
      存为多个压缩包。最多保留最近30天的归档日志文件。 --> <contextName>logback</contextName> <!--输出sql语句--> <logger name="com.jvxb" level="debug"/> <property name="path" value="../sbDemoLog"></property> <property name="maxHistory" value="30"/> <property name="maxFileSize" value="30MB"/> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>debug</level> </filter> <encoder> <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n </pattern> </encoder> </appender> <appender name="debug_file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${path}/logback_debug.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 每天一归档 --> <fileNamePattern>${path}/logback_debug.log.%d{yyyy-MM-dd}-%i.zip</fileNamePattern> <maxHistory>${maxHistory}</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>${maxFileSize}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder> <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n </pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>DEBUG</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <appender name="info_file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${path}/logback_info.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 每天一归档 --> <fileNamePattern>${path}/logback_info.log.%d{yyyy-MM-dd}-%i.zip</fileNamePattern> <maxHistory>${maxHistory}</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>${maxFileSize}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder> <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n </pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>INFO</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <appender name="warn_file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${path}/logback_warn.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 每天一归档 --> <fileNamePattern>${path}/logback_warn.log.%d{yyyy-MM-dd}-%i.zip</fileNamePattern> <maxHistory>${maxHistory}</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>${maxFileSize}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder> <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n </pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>WARN</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <appender name="error_file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${path}/logback_error.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 每天一归档 --> <fileNamePattern>${path}/logback_error.log.%d{yyyy-MM-dd}-%i.zip</fileNamePattern> <maxHistory>${maxHistory}</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>${maxFileSize}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder> <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n </pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <root> <level value="info"/> <appender-ref ref="console"/> <appender-ref ref="debug_file"/> <appender-ref ref="info_file"/> <appender-ref ref="warn_file"/> <appender-ref ref="error_file"/> </root> </configuration>

  

posted @ 2019-06-25 11:24  小丽的小明  阅读(400)  评论(0编辑  收藏  举报