一秒完成springboot与logback配置
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配置的更多相关文章
- springboot中logback配置
<?xml version="1.0" encoding="UTF-8"?> <configuration debug="false ...
- springboot日志logback配置
<?xml version="1.0" encoding="UTF-8"?> <!-- scan:当此属性设置为true时,配置文件如果发生改 ...
- springboot之logback配置
参考了https://blog.csdn.net/hxtxgfzs/article/details/79488163 Spring Boot默认情况下,当使用"Starters" ...
- SpringBoot Logback配置,SpringBoot日志配置
SpringBoot Logback配置,SpringBoot日志配置 SpringBoot springProfile属性配置 ================================ © ...
- SpringBoot使用logback自定义配置时遇到的坑 --- 在 /tmp目录下自动生成spring.log文件
问题描述 SpringBoot项目使用logback自定义配置后,会在/tmp/ 目录下生成 spring.log的文件(如下图所示). 解决方案 通过各种资料的搜索,最终发现问题的所在(logbac ...
- springboot的log4j配置与logback配置
log4j配置的依赖 <!-- 删除pom.xml文件中所有对日志jar包的引用--> <dependency> <groupId>org.springframew ...
- 小D课堂 - 零基础入门SpringBoot2.X到实战_第11节 Logback日志框架介绍和SpringBoot整合实战_45、SpringBoot2.x日志讲解和Logback配置实战
笔记 2.SpringBoot2.x日志讲解和自定义Logback配置实战 简介:讲解SpringBoot2.x整合Logback配置实战 1.官网介绍:https://docs.spring ...
- SpringBoot整合Logback日志框架配置全解析
目录 本篇要点 一.Logback日志框架介绍 二.SpringBoot与Logback 1.默认日志格式 2.控制台输出 3.文件输出 4.日志级别 5.日志组 6.自定义log配置 三.logba ...
- springboot logback 配置 通配符不行就这样
<?xml version="1.0" encoding="UTF-8"?><configuration> <property n ...
随机推荐
- .NET与 java通用的3DES加密解密方法
C#代码 private void button1_Click(object sender, EventArgs e) { string jiami = textBox1.Text; textBox2 ...
- Codejock.Xtreme.Toolkit.Pro.v15.3.1 下载 与 VS2015补丁使用方法
Codejock.Xtreme.Toolkit.Pro.v15.3.1 下载 与 VS2015补丁使用方法 打算放在CSDN进行下载的,上传完成后发现资源分设置的1分,本打算赚点下载分的.在页面上没有 ...
- Win8Metro(C#)数字图像处理--2.3图像反色
原文:Win8Metro(C#)数字图像处理--2.3图像反色 [函数名称] 图像反色函数ContraryProcess(WriteableBitmap src) [算法说明] 反色公式如下: ...
- SQLServer 进程无法向表进行大容量复制(错误号: 22018 20253)
原文:SQLServer 进程无法向表进行大容量复制 我的环境:SQL SERVER 2008 R2:发布者 ->SQL SERVER 2017 订阅者 进程无法向表“"dbo&quo ...
- kettle设计器连接oracle RAC时的连接字符串
1.不需要填写主机名2.数据库名写如下连接字符串:(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = IP地址)(PORT = 1521))(CONNEC ...
- Qt实现长文件名(字符串)在QLabel中自适应缩短
一.应用场景简述 当在有限宽度的QLable中显示很长的文件名/字符串时,超出QLabel宽度部分将不会显示,此时采取缩短文件名策略(也可实现为字符串滚动动画)可以缓解这一问题.在实现这一想法的过程中 ...
- python中的内置函数(2)
一.lambda匿名函数定义:为了解决一些简单的需求而设计的一句话函数例子:计算n的n次方 def func(n):#正常的写法 return n**2 f=lambda n:n**2 这里的lamb ...
- 多进程界面开发-Qt试玩儿
目录 一.概述 二.效果展示 三.使用方法 1.启动外部进程 2.创建Qt窗口 3.加入到主进程布局 四.嵌入NotePad 五.调用Ping命令 六.嵌入其他QWidget窗体 七.相关文章 一.概 ...
- epoll模型的探索与实践
我们知道nginx的效率非常高,能处理上万级的并发,其之所以高效离不开epoll的支持, epoll是什么呢?,epoll是IO模型中的一种,属于多路复用IO模型; 到这里你应该想到了,select, ...
- vue 左右滑动效果
个人实际开发中用到的效果问题总结出来便于自己以后开发查看调用,如果也适用其他人请随意拿走勿喷就行! vue.js是现在流行的js框架之一,vue 是一套用于构建用户界面的渐进式javascript框架 ...