1. 一秒配置与效果

1.1 一秒配置

​ spring boot中无须添加任何依赖,直接在resources文件夹下面新建logback.xml文件,将以下代码复制过去,配置完成,可以使用了。

<?xml version="1.0" encoding="UTF-8"?>
<configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoder 默认配置为PatternLayoutEncoder -->
<encoder>
<pattern>%d [%thread] %msg%n</pattern>
</encoder>
</appender>
<appender name="info_log" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- rollover daily -->
<FileNamePattern>log/info-%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!-- each file should be at most 100MB, keep 60 days worth of history, but at most 20GB -->
<maxFileSize>50MB</maxFileSize>
<maxHistory>180</maxHistory>
</rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout">
<!-- <pattern>%d [%thread] %msg%n</pattern>-->
<pattern> %date %-5level %logger{0} - %message%n</pattern>
</layout>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender> <appender name="warn_log" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>log/warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- each file should be at most 100MB, keep 60 days worth of history, but at most 20GB -->
<maxFileSize>20MB</maxFileSize>
<maxHistory>180</maxHistory>
</rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout">
<pattern> %date %-5level %logger{0} - %message%n</pattern>
</layout>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>WARN</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="error_log" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>log/error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- each file should be at most 100MB, keep 60 days worth of history, but at most 20GB -->
<maxFileSize>20MB</maxFileSize>
<maxHistory>180</maxHistory>
</rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout">
<pattern> %date %-5level %logger{0} - %message%n</pattern>
</layout>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender> <root level="INFO">
<appender-ref ref="STDOUT"/>
<appender-ref ref="info_log"/>
<appender-ref ref="warn_log"/>
<appender-ref ref="error_log"/>
</root> </configuration>

1.2 Linux服务器日志效果图

三个级别info、warn、error文件,根据文件日期和文件大小进行滚动。

2. logback介绍

2.1 背景

​ 人多饭香,logback是log4j创始人重新又搞得一进阶版开源日志系统,号称占用内存小,速度提成10倍以上,测试充分等等,logback配置起来确实简单了不少,但是对于我们大部分程序开发者来说,差异其实也就那样吧,一句话:大家都在用,都说好,用就是了,具体的技术内核,组件组成啥的不详细说了,一般项目用不到,看其他人博客吧。

2.2 logback配置说明

​ 配置说明还是要介绍下,还是很有有必要的。

2.2.1 配置简单秘密

​ 之所以能基本一键配置启动logback,原因在于springboot2.0以上吧,集成了logback,配置依赖已经在starter里面了,只要使用springboot框架,就会自带logbacak 了,只需要在resouces新建一个logback.xml(名字必须是这个)就能直接使用了。

2.2.2 logback配置解析
    <root level="INFO">
<appender-ref ref="STDOUT"/>
<appender-ref ref="info_log"/>
<appender-ref ref="warn_log"/>
<appender-ref ref="error_log"/>
</root>

​ 配置了拆分成了四个层级分开打印,第一个STDOUT就是到控制台去,其余三个分别为info、warn、error,根据日志和大小进行滚动,拿info进行下说明,其他几个配置基本一样。

    <appender name="info_log" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <FileNamePattern>log/info-%d{yyyy-MM-dd}.%i.log</FileNamePattern> <maxFileSize>50MB</maxFileSize>
<maxHistory>180</maxHistory>
</rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout">
<pattern> %date %-5level %logger{0} - %message%n</pattern>
</layout>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>

重点配置就三个地方

(1) FileNamePattern

​ 定义文件目录及名称命名规则:log/info-%d{yyyy-MM-dd}.%i.log,示例:log/info-2019-06-22.0.log,按天滚动;maxFileSize和maxHistory分别为文件多大滚动和保留多长时间。

(2)layout

​ 定义具体文件排版格式。

2019-06-22 11:09:17,471 INFO  LogAspect - [9a90efcc-24b1-4b57-a413-04ed874e29b5] -

(3)filter 过滤日志级别

​ 假如不想区分info、warn、error的话就不用配置多个appender,配置一个,不配置filter就可以了。


一秒完成springboot与logback配置的更多相关文章

  1. springboot中logback配置

    <?xml version="1.0" encoding="UTF-8"?> <configuration debug="false ...

  2. springboot日志logback配置

    <?xml version="1.0" encoding="UTF-8"?> <!-- scan:当此属性设置为true时,配置文件如果发生改 ...

  3. springboot之logback配置

    参考了https://blog.csdn.net/hxtxgfzs/article/details/79488163 Spring Boot默认情况下,当使用"Starters" ...

  4. SpringBoot Logback配置,SpringBoot日志配置

    SpringBoot Logback配置,SpringBoot日志配置  SpringBoot springProfile属性配置 ================================ © ...

  5. SpringBoot使用logback自定义配置时遇到的坑 --- 在 /tmp目录下自动生成spring.log文件

    问题描述 SpringBoot项目使用logback自定义配置后,会在/tmp/ 目录下生成 spring.log的文件(如下图所示). 解决方案 通过各种资料的搜索,最终发现问题的所在(logbac ...

  6. springboot的log4j配置与logback配置

    log4j配置的依赖 <!-- 删除pom.xml文件中所有对日志jar包的引用--> <dependency> <groupId>org.springframew ...

  7. 小D课堂 - 零基础入门SpringBoot2.X到实战_第11节 Logback日志框架介绍和SpringBoot整合实战_45、SpringBoot2.x日志讲解和Logback配置实战

    笔记 2.SpringBoot2.x日志讲解和自定义Logback配置实战     简介:讲解SpringBoot2.x整合Logback配置实战 1.官网介绍:https://docs.spring ...

  8. SpringBoot整合Logback日志框架配置全解析

    目录 本篇要点 一.Logback日志框架介绍 二.SpringBoot与Logback 1.默认日志格式 2.控制台输出 3.文件输出 4.日志级别 5.日志组 6.自定义log配置 三.logba ...

  9. springboot logback 配置 通配符不行就这样

    <?xml version="1.0" encoding="UTF-8"?><configuration> <property n ...

随机推荐

  1. python chrome selenium

    #coding=utf-8 from selenium import webdriver options = webdriver.ChromeOptions() options.add_argumen ...

  2. TThread类详解

    TThread是一个抽象类,可以创建几个独立的线程.类关系 TObject在一个多线程的应用程序中创建一个TThread的后子类代表一个线程.每一新子类的TThread对象的实例是一个新的线程.从TT ...

  3. 利用docker在window7下安装TensorFlow

    安装过程下碰了不少坑,记录一下安装过程,方便以后有需要时复用. 1.安装docker 下载最新版本的docker并且默认安装即可,安装后打开Docker Quickstart Terminal,初次进 ...

  4. 教你如何快速使用Github

    以前看过几篇github的使用教程,感觉还是不是很清晰,自从看到了这篇,通俗易懂,也学会基本的使用了,在此为大家推荐.(转自知乎,为了能让更多的人看到,请允许我使用 “原创”,如果侵权请联系.) Gi ...

  5. 中芯国际在CSTIC上悉数追赶国际先进水平的布局

    作为中国最大.工艺最先进的晶圆厂,中芯国际的一举一动都会受到大家的关注.在由SEMI主办的2017’中国国际半导体技术大会(CSTIC 2017)上,中芯国际CEO邱慈云博士给我们带来了最新的介绍. ...

  6. [机器学习]Bagging and Boosting

    Bagging 和 Boosting 都是一种将几个弱分类器(可以理解为分类或者回归能力不好的分类器)按照一定规则组合在一起从而变成一个强分类器.但二者的组合方式有所区别. 一.Bagging Bag ...

  7. 编译 Qt 5.6(使QtWebEngine支持XP)

    说明 qt 5.6的编译进行了数十遍,才得出本文的可行方案,之所以花了这么多的时间,主要是qt引入了QtWebEngine模块后,导致编译难度直线上升,而且又有一些中国特色的问题(如360安全卫士)导 ...

  8. qt+opencv对两幅图片进行融合

    本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 源代码: #include "widget.h" #include "ui ...

  9. MJPhotoBrowser 用法

    一.使用方法:   #import "MJPhotoBrowser.h" #import "MJPhoto.h"   - (void)tapPhoto:(UIT ...

  10. win2003浏览器提示是否需要将当前访问的网站添加到自己信任的站点中去

    Win2003的操作系统,的确比其它操作系统在安全上增加了不少,这是为用户所考虑的.当然,既然提供了安全性,尤其是在上网的时候,可以禁止某些活动脚本的显示,这样,就可以多方面的避免在使用Win2003 ...