logback-spring.xml文件的一些记录
1、 前言在SpringBoot项目开发的过程中一般都是使用Slf4j作为日志门面使用logback作为日志实现。logback日志实现框架需要指定并配置一个配置文件logback-spring.xml2、一些记录logback-spring.xml 配置文件内容以及一些针对配置项的说明都在里面。?xml version1.0 encodingUTF-8? configuration scantrue scanPeriod10 seconds debugfalse !-- 日志级别从低到高分为TRACE DEBUG INFO WARN ERROR FATAL如果设置为WARN则低于WARN的信息都不会输出 -- !-- scan:当此属性设置为true时配置文件如果发生改变将会被重新加载默认值为true -- !-- scanPeriod:设置监测配置文件是否有修改的时间间隔如果没有给出时间单位默认单位是毫秒。当scan为true时此属性生效。默认的时间间隔为1分钟。 -- !-- debug:当此属性设置为true时将打印出logback内部日志信息实时查看logback运行状态。默认值为false。 -- contextNamelogback/contextName !-- name的值是变量的名称value的值是变量定义的值。通过定义的值会被插入到logger上下文中。定义变量后可以使“${}”来使用变量。 -- !-- property namelog.path valueD:/file/logs/crypto/ -- property namelog.path valuelogs/ !-- 彩色日志 -- !-- 配置格式变量CONSOLE_LOG_PATTERN 彩色日志格式 -- !-- magenta:洋红 -- !-- boldMagenta:粗红-- !-- cyan:青色 -- !-- white:白色 -- !-- magenta:洋红 -- !-- %date 时间 -- !-- %-5level 日志级别从左显示5个字符宽度 -- !-- %thread 线程名称-- !-- %file:%line 文件名:行号 -- !-- %logger 日志名字 一般采用日志所在类名或者包名做日志名 -- !-- %msg 日志正文信息 -- !-- %n 换行 -- property nameCONSOLE_LOG_PATTERN value%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |${PID:-} |%blue(%thread) |%blue(%file:%line) |%green(%logger) |%cyan(%msg%n)/ !--输出到控制台-- appender nameCONSOLE classch.qos.logback.core.ConsoleAppender !--此日志appender是为开发使用只配置最低级别控制台输出的日志级别是大于或等于此级别的日志信息-- !-- 例如如果此处配置了INFO级别则后面其他位置即使配置了DEBUG级别的日志也不会被输出 -- filter classch.qos.logback.classic.filter.ThresholdFilter levelDEBUG/level /filter encoder classch.qos.logback.classic.encoder.PatternLayoutEncoder Pattern${CONSOLE_LOG_PATTERN}/Pattern !-- 设置字符集 -- charsetUTF-8/charset /encoder /appender !--输出到文件-- !-- 时间滚动输出 level为 DEBUG 的日志 -- appender nameDEBUG_FILE classch.qos.logback.core.rolling.RollingFileAppender !-- 日志文件的路径和文件名称 -- file${log.path}/log_debug.log/file !--DEBUG级别日志文件的输出格式-- encoder classch.qos.logback.classic.encoder.PatternLayoutEncoder pattern%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level ${PID:-} - [%thread] - %file:%line - %logger --- %msg%n/pattern charsetUTF-8/charset /encoder !-- 日志记录器的滚动策略按日期按大小记录 -- rollingPolicy classch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy !-- 每天日志归档路径以及格式 -- fileNamePattern${log.path}/debug/log-debug-%d{yyyy-MM-dd}.%i.log/fileNamePattern !-- 每个日志文件的最大大小 -- maxFileSize100MB/maxFileSize !--日志文件保留天数-- maxHistory180/maxHistory /rollingPolicy !-- 此日志文件只记录debug级别的 -- filter classch.qos.logback.classic.filter.LevelFilter levelDEBUG/level onMatchACCEPT/onMatch onMismatchDENY/onMismatch /filter /appender !-- 时间滚动输出 level为 INFO 的日志 -- appender nameINFO_FILE classch.qos.logback.core.rolling.RollingFileAppender !-- 日志文件的路径和文件名称 -- file${log.path}/log_info.log/file !--INFO级别日志文件的输出格式-- encoder classch.qos.logback.classic.encoder.PatternLayoutEncoder pattern%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level ${PID:-} - [%thread] - %file:%line - %logger --- %msg%n/pattern charsetUTF-8/charset /encoder !-- 日志记录器的滚动策略按日期按大小记录 -- rollingPolicy classch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy !-- 每天日志归档路径以及格式 -- fileNamePattern${log.path}/info/log-info-%d{yyyy-MM-dd}.%i.log/fileNamePattern !-- 每个日志文件的最大大小 -- maxFileSize100MB/maxFileSize !--日志文件保留天数-- maxHistory180/maxHistory /rollingPolicy !-- 此日志文件只记录info级别的 -- filter classch.qos.logback.classic.filter.LevelFilter levelINFO/level onMatchACCEPT/onMatch onMismatchDENY/onMismatch /filter /appender !-- 时间滚动输出 level为 WARN 日志 -- appender nameWARN_FILE classch.qos.logback.core.rolling.RollingFileAppender !-- 正在记录的日志文件的路径及文件名 -- file${log.path}/log_warn.log/file !--日志文件输出格式-- encoder pattern%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level ${PID:-} - [%thread] - %file:%line - %logger --- %msg%n/pattern charsetUTF-8/charset /encoder !-- 日志记录器的滚动策略按日期按大小记录 -- rollingPolicy classch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy fileNamePattern${log.path}/warn/log-warn-%d{yyyy-MM-dd}.%i.log/fileNamePattern !-- 每个日志文件的最大大小 -- maxFileSize100MB/maxFileSize !--日志文件保留天数-- maxHistory180/maxHistory /rollingPolicy !-- 此日志文件只记录warn级别的 -- filter classch.qos.logback.classic.filter.LevelFilter levelwarn/level onMatchACCEPT/onMatch onMismatchDENY/onMismatch /filter /appender !-- 时间滚动输出 level为 ERROR 日志 -- appender nameERROR_FILE classch.qos.logback.core.rolling.RollingFileAppender !-- 正在记录的日志文件的路径及文件名 -- file${log.path}/log_error.log/file !--日志文件输出格式-- encoder pattern%msg%n/pattern charsetUTF-8/charset /encoder !-- 日志记录器的滚动策略按日期按大小记录 -- rollingPolicy classch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy fileNamePattern${log.path}/error/log-error-%d{yyyy-MM-dd}.%i.log/fileNamePattern !-- 每个日志文件的最大大小 -- maxFileSize100MB/maxFileSize !--日志文件保留天数-- maxHistory180/maxHistory /rollingPolicy !-- 此日志文件只记录ERROR级别的 -- filter classch.qos.logback.classic.filter.LevelFilter levelERROR/level onMatchACCEPT/onMatch onMismatchDENY/onMismatch /filter /appender !-- 把所有日志记录到同一个文件中 (1) 根据配置的日志级别进行记录日志,如root标签配置的日志级别是INFO, 则会把INFO, WARN, ERROR 这三个级别的日志都记录到同一个文件中; (2) 这样做的目的是上面的 DEBUG_FILE、INFO_FILE、WARN_FILE和ERROR_FILE分别是只记录DEBUG级别、INFO级别、WARN级别和ERROR级别的日志 大白话就是上述的日志文件中只会出现本级别的日志信息而不会出现其他级别的日志信息。 这就导致一个问题是日志信息被割裂开了不连续了。 所以如果想要一个完整的日志即所有需要的级别的日志都记录到同一个文件中那就使用如下 ALL_FILE 这个配置项;如果不需要这么做就想把每个级别 的日志单独记录到不同的文件中就不需要开启这个。 -- appender nameALL_FILE classch.qos.logback.core.rolling.RollingFileAppender !-- 日志文件的路径和文件名称 -- file${log.path}/log_all.log/file !--日志文件的输出格式-- encoder classch.qos.logback.classic.encoder.PatternLayoutEncoder pattern%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level ${PID:-} - [%thread] - %file:%line - %logger --- %msg%n/pattern charsetUTF-8/charset /encoder !-- 日志记录器的滚动策略按日期按大小记录 -- rollingPolicy classch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy !-- 每天日志归档路径以及格式 -- fileNamePattern${log.path}/all/log-all-%d{yyyy-MM-dd}.%i.log/fileNamePattern !-- 每个日志文件的最大大小 -- maxFileSize100MB/maxFileSize !--日志文件保留天数-- maxHistory180/maxHistory /rollingPolicy /appender !-- (一) 此处的 levelINFO 控制着全局的异常记录级别。打个比喻如下 1) 此处的root就好比一个大哥控制着整个项目的日志级别大哥在这里说了我现在把你们都开启!(即使用appender-ref 标签开启了 控制台、debug级别的日志文件、info级别的日志文件、warn级别的日志文件、error级别的日志文件、全部级别的日志文件) 日志级别是 INFO! 在项目运行过程中你们各司其职去记录日志吧。 .... 项目开始运行了大家注意了! 2) 先来看 refCONSOLE 的干活逻辑老大开启的全局日志级别是INFO级别我自己配置的是我要在控制台输出DEBUG及以上级别的日志~ 现在老大开启了全局INFO级别的日志那DEBUG级别的日志我肯定是见不到了我只管在控制台输出INFO级别以上的日志就行啦~ 3) 然后来看看 refDEBUG_FILE 的干活逻辑: 我自己配置的是我只负责在log_debug.log 文件中记录 项目运行过程中的 debug 级别日志但是现在老大开启的全局日志级别是INFO级别所以肯定不会有debug级别的日志输出也就不会有debug级别的日志走到我这里来我没活可干~~~ 4) 再来看看 refINFO_FILE 的干活逻辑我自己配置的是我只负责在log_info.log 文件中记录 项目运行过程中的 info 级别日志但是现在老大开启的全局日志级别是INFO级别如果项目在运行过程中出现了info级别的日志我就要开始干活啦我可不管其他级别的日志比如 warnerror级别的日志我一概不关心! 对应配置如下 filter classch.qos.logback.classic.filter.LevelFilter levelINFO/level onMatchACCEPT/onMatch onMismatchDENY/onMismatch /filter 5) refWARN_FILE 和 refERROR_FILE 干活逻辑和 4) 是类似的。 6) 最后来看看 refALL_FILE 的干活逻辑只要项目运行过程中出现了老大开启的全局日志级别INFO 及以上的日志信息我都要在 log_all.log 文件中记录下来! (二) 老大虽然开启了全局的日志记录级别为 INFO. 但是作为下面的小弟也可以选择自己想要记录的哪个级别的日志信息。拿 控制台的输出举例。虽然 rootINFO, 但是如果 CONSOLE 配置如下 filter classch.qos.logback.classic.filter.ThresholdFilter levelERROR/level /filter 那当程序运行过程中出现了 INFO 级别或 WARN 级别的日志我也不会输出到控制台上!, 我只关心ERROR级别的日志即当有ERROR 级别的日志出现时我才会把ERROR级别的日志信息输出到控制台上。 (3) 如果老大哪天看某个小弟不顺眼就可以不开启他。比如今天老大看 CONSOLE 这个小弟不顺眼就把其给注释掉了那么就不会在控制台输出程序运行过程中的日志信息了。但是其他小弟还是按照 (一)中分析的干活逻辑卖命的干活。 -- root levelINFO appender-ref refCONSOLE/ appender-ref refDEBUG_FILE/ appender-ref refINFO_FILE/ appender-ref refWARN_FILE/ appender-ref refERROR_FILE/ appender-ref refALL_FILE/ /root /configuration

相关新闻

如何轻松保存全网小说?novel-downloader完整使用指南

如何轻松保存全网小说?novel-downloader完整使用指南

如何轻松保存全网小说?novel-downloader完整使用指南 【免费下载链接】novel-downloader 一个可扩展的通用型小说下载器。 项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader 你是否曾经遇到过这样的困扰:正在追更的小说突然从网站上…

2026/7/31 18:22:15 阅读更多 →
TinyViT模型大揭秘:5.4M参数如何实现高效图像分类?tiny_vit_5m_224.dist_in22k_ft_in1k完整指南

TinyViT模型大揭秘:5.4M参数如何实现高效图像分类?tiny_vit_5m_224.dist_in22k_ft_in1k完整指南

TinyViT模型大揭秘:5.4M参数如何实现高效图像分类?tiny_vit_5m_224.dist_in22k_ft_in1k完整指南 【免费下载链接】tiny_vit_5m_224.dist_in22k_ft_in1k 项目地址: https://ai.gitcode.com/hf_mirrors/timm/tiny_vit_5m_224.dist_in22k_ft_in1k T…

2026/7/31 18:21:15 阅读更多 →
抖音批量下载终极指南:5分钟搞定无水印视频,告别手动保存烦恼

抖音批量下载终极指南:5分钟搞定无水印视频,告别手动保存烦恼

抖音批量下载终极指南:5分钟搞定无水印视频,告别手动保存烦恼 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and brow…

2026/7/31 18:21:15 阅读更多 →

最新新闻

从南京到全球求职市场,蒸汽教育是一家怎样的公司?

从南京到全球求职市场,蒸汽教育是一家怎样的公司?

搜索“蒸汽教育怎么样”时,留学生和家长可能会先遇到一个基础问题: “蒸汽教育”“蒸汽求职”“STEM Career Group”和“南京蒸汽职业咨询有限公司”,说的是同一家公司吗?为什么中文品牌、英文名称和合同主体看起来并不一样&#…

2026/7/31 18:56:29 阅读更多 →
Docker从零搭建:安装/镜像管理/容器运行全攻略

Docker从零搭建:安装/镜像管理/容器运行全攻略

容器技术 基础环境: 配置Yum仓库 docker安装 配置镜像加速 镜像管理&容器管理 镜像管理命令 容器管理命令 简单镜像制作 容器内部署应用 基础环境: 配置Yum仓库 把 docker 软件包添加到跳板机的自定义 yum 仓库中 [root@ecs-proxy ~]# rsync -av docker/ /var/ftp/loc…

2026/7/31 18:56:29 阅读更多 →
银河麒麟V10多路径Multipath配置指南:存储链路高可用,不再随机掉盘

银河麒麟V10多路径Multipath配置指南:存储链路高可用,不再随机掉盘

Multipath 介绍与配置指南 一、Multipath 介绍 1. Multipath 简介 2. 实现功能 3.配置文件核心结构 4.高级参数优化 二、操作环境 三、iSCSI 安装(服务器端) 1. 安装 iSCSI 2. 配置 iSCSI 四、iSCSI 配置(客户端) 1. 安装并加入认证 2. 发现服务器端 iSCSI 3. 登录 4. 查看…

2026/7/31 18:56:29 阅读更多 →
NativeOverleaf:重塑桌面端LaTeX写作体验的跨平台解决方案

NativeOverleaf:重塑桌面端LaTeX写作体验的跨平台解决方案

NativeOverleaf:重塑桌面端LaTeX写作体验的跨平台解决方案 【免费下载链接】NativeOverleaf Next-level academia! Repository for the Native Overleaf project, attempting to integrate Overleaf with native OS features for macOS, Linux and Windows. 项目地…

2026/7/31 18:56:29 阅读更多 →
Python OpenCV图像处理:从BGR到RGB转换与RAW格式保存的完整指南

Python OpenCV图像处理:从BGR到RGB转换与RAW格式保存的完整指南

1. 引言 在计算机视觉和图像处理领域,OpenCV是最常用的库之一。然而,许多开发者在处理图像格式转换和保存时会遇到各种问题,特别是BGR与RGB格式的差异以及如何正确保存原始图像数据。本文将深入探讨如何使用OpenCV进行图像加载、格式转换和RA…

2026/7/31 18:56:29 阅读更多 →
下一代防火墙为什么越用越贵?拆解厂商常见的IPS、AV、URL过滤、沙箱订阅套路

下一代防火墙为什么越用越贵?拆解厂商常见的IPS、AV、URL过滤、沙箱订阅套路

买下一代防火墙,很多企业以为是"一次性投入",设备到手才发现:IPS、AV、URL过滤、沙箱这些本属于防火墙内置的安全能力,却被厂商拆成独立订阅模块按年续费,三年下来可能比防火墙本身还贵。本文聚焦下一代防火…

2026/7/31 18:55:29 阅读更多 →

日新闻

物理复制比逻辑复制好在哪?数据库复制原理详解

物理复制比逻辑复制好在哪?数据库复制原理详解

数据库复制是把主库数据同步到备库的机制,分为逻辑复制和物理复制两种。逻辑复制传输的是 SQL 语句或行变更事件,物理复制传输的是存储引擎底层的物理日志。阿里云 PolarDB(云原生数据库)采用物理复制,在同步延迟、数据…

2026/7/31 0:00:34 阅读更多 →
BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…

2026/7/31 0:00:34 阅读更多 →
有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

当前,游戏行业的“DataAI融合”已从概念验证进入价值落地阶段。根据IDC 2025年数据,中国AI游戏云市场规模已达18.6亿元;同时,游戏研发环节AI渗透率高达86%,生成式AI内容普及率超过50%。面对庞大的市场,游戏…

2026/7/31 0:00:34 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/31 4:19:39 阅读更多 →

月新闻