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
相关文章:
logback.xml springboot 项目通用logback配置,粘贴即用,按日期生成
<configuration scan"false" scanPeriod"10 seconds"><!-- 定义日志存放的根目录 --><property name"log.dir" value"./logs" /><!-- 彩色日志依赖的渲染类 --><conversionRule conversionWord"clr&q…...
【AI视野·今日CV 计算机视觉论文速览 第256期】Thu, 28 Sep 2023
AI视野今日CS.CV 计算机视觉论文速览 Thu, 28 Sep 2023 Totally 96 papers 👉上期速览✈更多精彩请移步主页 Daily Computer Vision Papers SHACIRA: Scalable HAsh-grid Compression for Implicit Neural Representations Authors Sharath Girish, Abhinav Shriva…...
2023-9-28 JZ26 树的子结构
题目链接:树的子结构 import java.util.*; /** public class TreeNode {int val 0;TreeNode left null;TreeNode right null;public TreeNode(int val) {this.val val;}} */ public class Solution {public boolean HasSubtree(TreeNode root1,TreeNode root2) …...
ElementUI之首页导航+左侧菜单
文章目录 一、Mock.js1.1.什么是Mock.js1.2.安装与配置1.3使用 二、登录注册跳转2.1.在views中添加Register.vue2.2.在Login.vue中的methods中添加gotoRegister方法2.3.在router/index.js中注册路由 三、组件通信(总线)3.1 在main.js中添加内容3.2.在com…...
【Linux学习】04Linux实用操作
Linux(B站黑马)学习笔记 01Linux初识与安装 02Linux基础命令 03Linux用户和权限 04Linux实用操作 05-1Linux上安装部署各类软件 文章目录 Linux(B站黑马)学习笔记前言04Linux实用操作各类小技巧(快捷键)ct…...
一篇博客学会系列(1) —— C语言中所有字符串函数以及内存函数的使用和注意事项
目录 1、求字符串长度函数 1.1、strlen 2、字符串拷贝(cpy)、拼接(cat)、比较(cmp)函数 2.1、长度不受限制的字符串函数 2.1.1、strcpy 2.1.2、strcat 2.1.3、strcmp 2.2、长度受限制的字符串函数 2.2.1、strncpy 2.2.2、strncat 2.2.3、strncmp 3、字符串查找函数…...
计算机视觉与深度学习-循环神经网络与注意力机制-RNN(Recurrent Neural Network)、LSTM-【北邮鲁鹏】
目录 举例应用槽填充(Slot Filling)解决思路方案使用前馈神经网络输入1-of-N encoding(One-hot)(独热编码) 输出 问题 循环神经网络(Recurrent Neural Network,RNN)定义如何工作学习目标深度Elm…...
brew 安装MySQL 5.7
写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成…...
【中国知名企业高管团队】系列22:滴滴
大家好! 今天华研荟的走进中国知名企业高管团队系列带大家认识滴滴。 滴滴公司是出行领域的先行者,也是一个典型样本。通过滴滴公司的名字变迁我们可以感受到滴滴公司的业务发展,这也是整个出行行业公司的发展路径: 第一阶段&a…...
Unity之Hololens如何实现3D物体交互
一.前言 什么是Hololens? Hololens是由微软开发的一款混合现实头戴式设备,它将虚拟内容与现实世界相结合,为用户提供了沉浸式的AR体验。Hololens通过内置的传感器和摄像头,能够感知用户的环境,并在用户的视野中显示虚拟对象。这使得用户可以与虚拟内容进行互动,将数字信…...
IDEA Debug技巧大全,看完就能提升工作效率
作者简介 目录 1.行断点 2.方法断点 3.异常断点 4.字段断点 5.条件表达式 1.行断点 行断点就是平时我们在代码行旁边单击鼠标打上的断点,这个没有什么好说的。关键点在于很多人不知道的,行断点其实是可以右击选择是对改行的全部调用都生效…...
蓝桥等考Python组别六级003
第一部分:选择题 1、PythonL6(15分) 运行下面的程序,输出的值最大可能是()。 importrandom print(random.randint(2,4)*5) 10152030正确答案:C 2、PythonL6(15分) 甲、乙、丙三个人赛跑,已知甲不是第一名,乙不是第二名,名次没有并列的。...
机器学习小白理解之一元线性回归
关于机器学习,百度上一搜一大摞,总之各有各的优劣,有的非常专业,有的看的似懂非懂。我作为一名机器学习的门外汉,为了看懂这些公式和名词真的花了不少时间,还因此去着重学了高数。 不过如果不去看公式&…...
目标检测:FROD: Robust Object Detection for Free
论文作者:Muhammad,Awais,Weiming,Zhuang,Lingjuan,Lyu,Sung-Ho,Bae 作者单位:Sony AI; Kyung-Hee University 论文链接:http://arxiv.org/abs/2308.01888v1 内容简介: 1)方向:目标检测 2)…...
linux 和 windows的換行符不兼容問題
linux 和 windows的換行符: 1.vim 模式下,執行命令: :set ffunix idea中設置code style...
ubuntu 20 安装 CUDA
1. 查看需要安装的cuda版本 nvidia-smi cuda的版本信息如下图所示 2. 去官网下载对应版本的CUDA 官网:CUDA Toolkit Archive | NVIDIA Developer 弹出以下界面,依次点击以下按钮 得到以下内容: 复制下载链接,下载cuda11到本…...
C++友元函数和友元类
友元介绍 类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。尽管友元函数的原型有在类的定义中出现过,但是友元函数并不是成员函数。 友元可以是一个函数…...
特斯拉——使用人工智能制造智能汽车
特斯拉(Tesla)是电动汽车开发和推广的先驱。特斯拉对自动驾驶汽车的未来寄予厚望--实际上,每一辆特斯拉汽车都有可能通过软件升级成为自动驾驶汽车。该公司还生产和销售高级电池和太阳能电池板。 汽车的自动驾驶是按从1~5的等级划分的。自适应巡航控制和自动停车系…...
如何删除gitlab上多余的文件夹
无意间在提交代码时,包含了多余的 .idea 或者 __pychche__ 缓存文件夹等等,如何一次性删除呢? 实际上没有更好的办法,如果还没有合并,close 掉 MR就行了,重新提交。 如果已经合并了,就会留下记…...
computed和methods有什么区别
面试题:computed和methods有什么区别 标准而浅显的回答 在使用时,computed当做属性使用,而methods则当做方法调用computed可以具有getter和setter,因此可以赋值,而methods不行computed无法接收多个参数,而m…...
深入解析BulletinBoard:iOS上下文卡片库的完整架构指南与核心实现
深入解析BulletinBoard:iOS上下文卡片库的完整架构指南与核心实现 【免费下载链接】BulletinBoard General-purpose contextual cards for iOS 项目地址: https://gitcode.com/gh_mirrors/bu/BulletinBoard BulletinBoard是一个功能强大的iOS库,专…...
Tencent Hunyuan3D-1.0虚幻引擎集成:从生成模型到游戏资产的完整工作流
Tencent Hunyuan3D-1.0虚幻引擎集成:从生成模型到游戏资产的完整工作流 【免费下载链接】Hunyuan3D-1 腾讯开源的Hunyuan3D-1项目,创新提出两阶段3D生成方法,实现快速、高质量的文本到3D和图像到3D转换,融合Hunyuan-DiT模型&#…...
基于MATLAB的齿轮系统非线性动力学特性分析:参数阻尼比变化调节下的输出结果
基于matlab的齿轮系统非线性动力学特性分析 基于matlab的齿轮系统非线性动力学特性分析,综合考虑齿侧间隙、时变啮合刚度、综合啮合误差等因素下,参数阻尼比变化调节下,输出位移、相图、载荷、频率幅值结果 程序已调通,可直接运行…...
五大赛道齐亮相!第四届世界科学智能大赛启动报名,首设人文科学赛道
随着人工智能深入科研实践,它不仅在各领域课题的预测、计算等方面屡创新高,也正介入曾被认为高度依赖人类直觉与经验的文化阐释工作。继第四届世界科学智能大赛的创新赛道“AI4S智能体CNS挑战赛”在一个月前率先发布,吹响了自主科研智能体的攻…...
别再手动写JSON Schema了!用智谱AI/DeepSeek的FunctionCall,5分钟搞定天气查询API对接
告别JSON Schema手写时代:用大模型FunctionCall极速对接天气API 开发聊天机器人时,最头疼的莫过于为每个新功能手动编写JSON Schema。上周我接手一个天气查询功能需求,原本预计要花半天时间定义参数结构、验证逻辑,结果用智谱AI的…...
VS2019项目配置全解析:从附加库到包含目录的实战指南
1. VS2019项目配置基础概念解析 刚接触VS2019时,我完全被各种配置选项搞晕了。特别是当需要引入第三方库时,附加库、包含目录这些概念简直让人抓狂。记得第一次配置OpenCV项目,光是让编译器找到头文件就折腾了大半天。后来才发现,…...
AIGC技术实操:AI生图、AI视频开发与工具集成
2026年,AIGC技术已从“玩具级应用”走向“产业级工具”,其中AI生图、AI视频成为开发者的热门布局领域,据统计,AIGC/传媒领域商业化进程最快,MCN行业人工智能渗透率超60%,广告行业渗透率达55%。对于开发者而…...
基于小波变换与LabVIEW平台的电力电缆故障精准定位方法研究与应用
基于LabVIEW和小波分析的电力电缆故障定位方法 在分析行波法故障测距误差的基础上, 根据小波变换模极大值在不同尺度下的特 性, 运用自相关分析提供的约束条件, 基于LabVIEW 平台, 实现了对故障信号的准确识别和定 位, 准确测算出故障点的位置。 大量的仿真测试表明, 该方法故障…...
新时达电脑调试软件上位机:支持256种全协议,便捷实现系统参数导入导出与备份
新时达软件上位机,256全协议 新时达电脑调试软件多协议,方便用电脑调试系统,可以从电脑导入 和导出参数到电脑保存控制柜前蹲半小时协议选错的痛,你懂不懂?U盘插了拔拔了插还是提示版本格式不匹配的烦躁,你…...
如何提高YOLO8目标检测的准确性?
上面主要就是大致了解方法,省流请看最下面1.提高置信度阈值yolo predict modelyolov8n.pt source0 classes0 conf0.5 conf0.3(灵敏,但容易误检) conf0.5(更准,误检少) …...
