当前位置: 首页 > news >正文

logback.xml springboot 项目通用logback配置,粘贴即用,按日期生成

<configuration scan="false" scanPeriod="10 seconds"><!-- 定义日志存放的根目录 --><property name="log.dir" value="./logs" /><!-- 彩色日志依赖的渲染类 --><conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" /><conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" /><conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" /><!-- 彩色日志格式 --><property name="console.encoder"value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss}) %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%5.5t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/><!--    属性声明:普通日志打印写log文件用--><property name = "file.encoder" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n"></property><!--    控制台打印输出规则包含info error warn--><appender name = "console" class = "ch.qos.logback.core.ConsoleAppender" level="info"><encoder><pattern>${console.encoder}</pattern><charset>UTF-8</charset></encoder></appender>
<!--    滚动策略 debug info error warn --><appender name="debug-file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--        文件名 目录结构为logs文件夹下 名字叫debug.log的日志文件--><file>${log.dir}/debug.log</file><encoder><pattern>${file.encoder}</pattern><charset>UTF-8</charset></encoder>
<!--        滚动策略如果logs文件夹下的debug.log超过maxFileSize 就会保存到fileNamePattern目录 命名就在fileNamePattern内也就是 0,2,3这样--><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy" ><fileNamePattern>${log.dir}/debug/%d{yyyy-MM-dd}/debug.%d{yyyy-MM-dd}.%i.log</fileNamePattern><maxFileSize>10kb</maxFileSize>
<!--            最大保存体积超过自动删除老的日志文件让其始终保持最多5gb--><totalSizeCap>5GB</totalSizeCap>
<!--            无论超不超5gb但凡超过60天就删--><maxHistory>60</maxHistory></rollingPolicy>
<!--        过滤只要debug类型的日志--><filter class="ch.qos.logback.classic.filter.LevelFilter">
<!--            级别--><level>debug</level>
<!--            只要debug--><onMatch>ACCEPT</onMatch>
<!--            其他的都不要--><onMismatch>DENY</onMismatch></filter></appender>
<!--    与debug appender 一样不做过多解释--><appender name="info-file" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${log.dir}/info.log</file><encoder><pattern>${file.encoder}</pattern><charset>UTF-8</charset></encoder><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy" ><fileNamePattern>${log.dir}/info/%d{yyyy-MM-dd}/info.%d{yyyy-MM-dd}.%i.log</fileNamePattern><maxFileSize>10kb</maxFileSize><totalSizeCap>5GB</totalSizeCap><maxHistory>60</maxHistory></rollingPolicy><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>info</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter></appender><!--    与debug appender 一样不做过多解释--><appender name="warn-file" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${log.dir}/warn.log</file><encoder><pattern>${file.encoder}</pattern><charset>UTF-8</charset></encoder><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy" ><fileNamePattern>${log.dir}/warn/%d{yyyy-MM-dd}/warn.%d{yyyy-MM-dd}.%i.log</fileNamePattern><maxFileSize>50MB</maxFileSize><totalSizeCap>5GB</totalSizeCap><maxHistory>60</maxHistory></rollingPolicy><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>warn</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter></appender><!--    与debug appender 一样不做过多解释--><appender name="error-file" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${log.dir}/error.log</file><encoder><pattern>${file.encoder}</pattern><charset>UTF-8</charset></encoder><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy" ><fileNamePattern>${log.dir}/error/%d{yyyy-MM-dd}/error.%d{yyyy-MM-dd}.%i.log</fileNamePattern><maxFileSize>50MB</maxFileSize><totalSizeCap>5GB</totalSizeCap><maxHistory>60</maxHistory></rollingPolicy><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>error</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter></appender>
<!--    additivity标识不给root类 只给自定义的附加器--><logger name="com.self.mapper" level="debug" additivity="false"><appender-ref ref="console" /><appender-ref ref="debug-file" /></logger><!-- 打印事务、mapper注册等信息,打印到控制台、记录到debug_file additivity标识不给root类 只给自定义的附加器--><logger name="org.mybatis.spring.SqlSessionUtils" level="DEBUG"  additivity="false"><appender-ref ref="console"/><appender-ref ref="debug-file"/></logger>
<!--    root标识log父类 包含了所有类型日志这里的作用是把日志给哪些附加器授权用--><root level="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>

生成日志如下:

目录 :按照日志类型-日期

文件命名:-类型+日期+索引+.log

http://www.lryc.cn/news/178351.html

相关文章:

  • 【AI视野·今日CV 计算机视觉论文速览 第256期】Thu, 28 Sep 2023
  • 2023-9-28 JZ26 树的子结构
  • ElementUI之首页导航+左侧菜单
  • 【Linux学习】04Linux实用操作
  • 一篇博客学会系列(1) —— C语言中所有字符串函数以及内存函数的使用和注意事项
  • 计算机视觉与深度学习-循环神经网络与注意力机制-RNN(Recurrent Neural Network)、LSTM-【北邮鲁鹏】
  • brew 安装MySQL 5.7
  • 【中国知名企业高管团队】系列22:滴滴
  • Unity之Hololens如何实现3D物体交互
  • IDEA Debug技巧大全,看完就能提升工作效率
  • 蓝桥等考Python组别六级003
  • 机器学习小白理解之一元线性回归
  • 目标检测:FROD: Robust Object Detection for Free
  • linux 和 windows的換行符不兼容問題
  • ubuntu 20 安装 CUDA
  • C++友元函数和友元类
  • 特斯拉——使用人工智能制造智能汽车
  • 如何删除gitlab上多余的文件夹
  • computed和methods有什么区别
  • MySQL索引分类和操作(增删查)、聚集索引、二级索引(索引篇 二)
  • (三)Python变量类型和运算符
  • vue三种import导入方式详解?
  • 深入理解数据库视图
  • Java中@before和setup()方法的作用~
  • 前端uniapp防止页面整体滑动页面顶部以上,设置固定想要固定区域宽高
  • 浮点型数字
  • 贝叶斯统计入门
  • 织梦CMS采集插件-DEDE插件大全
  • vuereact质检工具(eslint)安装使用总结
  • yolox相关