logback的简单配置详解
<?xml version="1.0" encoding="UTF-8"?>
<!--logback配置的根元素。scan=true表示logback将定期扫描配置文件以检测更改。scanPeriod="30 Period" 扫描间隔为30s-->
<configuration scan="true" scanPeriod="30 seconds"><!--日志文件的保存路径,首先查找系统属性-Dlog.dir,如果存在就使用其;否则,在当前目录下创建名为/data/logs/sys_admin目录做日志存放的目录 --><property name="LOG_HOME" value="/data/logs/sys_admin"/><!-- 日志输出格式 --><!--格式化输出:%d表示日期,%t表示线程名,%-5level:级别从左显示5个字符宽度 %m:日志消息,%n:换行符,%X{traceId}表示记录的traceId%logger表示日志记录事件所在类名,{0}表示只保留类名的第一个元素,即类名的最后一部分%X表示提取MDC中的值,${traceId}是MDC键,表示要提取的值的名称--><property name="ENCODER_PATTERN"value="%d{yyyy-MM-dd HH:mm:ss.SSS} %X{traceId} %level %logger{0} [%t] %m%n"/><!-- 控制台输出 :定义了一个控制台输出的Appender,它将日志消息输出到控制台--><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><pattern>${ENCODER_PATTERN}</pattern></encoder></appender><!-- INFO日志:按照每天生成日志文件 --><!--定义一个滚动文件Appender,将INFO日志记录到文件--><appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><!--表示以追加模式写入日志文件--><Append>true</Append><!--指定日志文件的路径和文件名--><file>${LOG_HOME}/sys_info.log</file><!--配置基于时间的滚动策略,按日期创建新的日志文件--><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--指定日志文件名的模式,以日期为后缀--><FileNamePattern>${LOG_HOME}/sys_info.log.%d{yyyy-MM-dd}</FileNamePattern><!--日志文件保留天数--><MaxHistory>30</MaxHistory></rollingPolicy><!--日志输出格式和编码格式--><encoder><pattern>${ENCODER_PATTERN}</pattern><charset>UTF-8</charset></encoder><!-- <filter> 元素用于配置日志事件的过滤器,以控制哪些事件会被记录。在您提供的配置中,<filter> 是一个 ch.qos.logback.classic.filter.LevelFilter 过滤器,用于过滤日志事件的级别。--><filter class="ch.qos.logback.classic.filter.LevelFilter"><!--指定要接受的日志级别。在这个示例中,INFO 级别的日志事件将被接受,而低于 INFO 级别的事件将被拒绝。--><level>INFO</level><!--当日志事件与指定级别匹配时的处理方式。在这里,如果级别匹配到 INFO,则允许该事件通过(ACCEPT)--><onMatch>ACCEPT</onMatch><!--当日志事件与指定级别不匹配时的处理方式。在这里,如果级别不匹配 INFO,则拒绝该事件(DENY),即不记录。--><onMismatch>DENY</onMismatch></filter></appender><!-- ERROR日志:用于将ERROR日志输出到独立文件 --><appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><Append>true</Append><file>${LOG_HOME}/sys_error.log</file><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件输出的文件名--><FileNamePattern>${LOG_HOME}/sys_error.log.%d{yyyy-MM-dd}</FileNamePattern><!--日志文件保留天数--><MaxHistory>30</MaxHistory></rollingPolicy><encoder><pattern>${ENCODER_PATTERN}</pattern><charset>UTF-8</charset></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>ERROR</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter></appender><!-- WARN日志:用于将WARN日志输出到独立文件 --><appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><Append>true</Append><file>${LOG_HOME}/sys_warn.log</file><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件输出的文件名--><FileNamePattern>${LOG_HOME}/sys_warn.log.%d{yyyy-MM-dd}</FileNamePattern><!--日志文件保留天数--><MaxHistory>30</MaxHistory></rollingPolicy><encoder><pattern>${ENCODER_PATTERN}</pattern><charset>UTF-8</charset></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>WARN</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter></appender><appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><Append>true</Append><file>${LOG_HOME}/sys_debug.log</file><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件输出的文件名--><FileNamePattern>${LOG_HOME}/sys_debug.log.%d{yyyy-MM-dd}</FileNamePattern><!--日志文件保留天数--><MaxHistory>30</MaxHistory></rollingPolicy><encoder><pattern>${ENCODER_PATTERN}</pattern><charset>UTF-8</charset></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>DEBUG</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter></appender><appender name="trace" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>/data/logs/trace/trace.log</file><Append>true</Append><encoder><!--%msg 表示输出消息文本,%n 表示换行符。这意味着日志事件将只包括消息文本,并在每条日志事件后添加一个换行符。--><pattern>%msg%n</pattern><charset>UTF-8</charset></encoder><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件输出的文件名--><FileNamePattern>/data/logs/trace/trace.log.%d{yyyy-MM-dd-HH}</FileNamePattern><!--日志文件保留天数--><MaxHistory>1</MaxHistory></rollingPolicy></appender><!--定义了一个名为 async-trace 的异步 Appender,并指定了其类 ch.qos.logback.classic.AsyncAppender。异步 Appender 允许将日志事件放入队列并以异步方式处理它们,这有助于提高性能,特别是在高负载环境中--><appender name="async-trace" class="ch.qos.logback.classic.AsyncAppender"><!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 --><discardingThreshold>80</discardingThreshold><!-- 更改默认的队列的深度,该值会影响性能.默认值为256 --><queueSize>512</queueSize><!-- 添加附加的appender,最多只能添加一个 --><appender-ref ref="trace"/></appender><!--这个配置为特定类 cn.techwolf.trace.utils.SpanLogger 创建了一个 Logger,指定了记录的日志级别和一个异步 Appender。这允许您单独配置特定类的日志记录行为,包括日志级别和目标 Appender,以满足应用程序的需求。这对于精确控制不同类的日志非常有用。--><logger name="cn.system.trace.utils.SpanLogger" additivity="false"><level value="INFO"/><appender-ref ref="async-trace"/></logger><logger name="cn.system.jade.datasource.SQLParseInfo" additivity="false"><level value="INFO"/><appender-ref ref="WARN_FILE"/></logger><!-- 日志输出级别 这部分配置定义了根 Logger,即所有日志事件的默认记录方式。 这个配置为根 Logger 指定了默认的日志级别和多个不同的 Appender,以便将日志事件同时记录到不同的目标,例如控制台和文件。这允许您在不同环境中将日志事件发送到不同的目标,以便满足不同的需求,例如在生产环境中将日志记录到文件,而在开发环境中将其输出到控制台。这是 Logback 配置中非常有用的一部分。--><root><!--这定义了根 Logger 的默认日志级别,即 INFO。这意味着只有 INFO 级别及更高级别的日志事件会被记录,低于 INFO 级别的事件将被忽略。--><level value="INFO"/><!--这将根 Logger 的日志事件附加到名为 STDOUT 的 Appender,这意味着根 Logger 的日志事件将被输出到控制台。--><appender-ref ref="STDOUT"/><!--Logger 的日志事件附加到不同的 Appender,分别是 INFO_FILE、WARN_FILE、ERROR_FILE 和 DEBUG_FILE。这表示根 Logger 的日志事件将同时记录到多个目标,包括文件日志。--><appender-ref ref="INFO_FILE"/><appender-ref ref="WARN_FILE"/><appender-ref ref="ERROR_FILE"/><appender-ref ref="DEBUG_FILE"/></root>
</configuration>
相关文章:
logback的简单配置详解
<?xml version"1.0" encoding"UTF-8"?> <!--logback配置的根元素。scantrue表示logback将定期扫描配置文件以检测更改。scanPeriod"30 Period" 扫描间隔为30s--> <configuration scan"true" scanPeriod"30 seco…...
TatukGIS Developer Kernel使用教程:如何为FMX创建第一个应用程序
概述:TatukGIS Developer Kernel(DK)是一个用于开发自定义地理信息系统(GIS)应用程序以及解决方案的综合性软件开发工具包(SDK)。本篇文章主要介绍用DK11为FMX创建一个应用程序,现在…...
Ant Design Vue设置表格滚动 宽度自适应 不换行
Ant Design Vue设置表格滚动 宽度自适应 不换行 添加以下属性即可解决这个问题: <a-table :columns"columns" :data-source"list":pagination"false"bordered:scroll"{ x: max-content }" >...
在Linux上开启文件服务,需要安装并配置Samba
在Linux上开启文件服务,需要安装并配置Samba。以下是具体步骤: 安装Samba软件包:在终端中输入以下命令进行安装: 复制代码 sudo apt-get update && sudo apt-get install samba 配置Samba:编辑Samba配置文件…...
TypeScript 类型兼容性
TypeScript 类型兼容性 在前端开发中,使用 TypeScript 可以提供更强大的类型检查和类型安全。然而,了解 TypeScript 中的类型兼容性是至关重要的,因为它涉及如何处理不同类型之间的关系,以及在这些类型之间进行无缝的交互。本文将…...
【多线程】线程的状态
我们可以通过下面的这段代码来查看线程一共有哪几种状态 //线程的状态是一个枚举类型 Thread.State for(Thread.State state : Thread.State.values()){System.out.println(state); }NEW(新建状态): 当线程对象已经被创建,但是 s…...
pytorch 对图片进行归一化处理
如题,神经网络通常使用浮点数张量作为输入,我们要做的第一件事情就是将图片转化为浮点数,并且做归一化操作。 import torch import imageio import osdata_dirF:\\work\\deep_learning\\pytorch\\dlwpt-code-master\\data\\p1ch4\\image-cat…...
零售数据分析师熬夜整理:人、货、场、供、财这样做
在零售数据分析中,人、货、场、供、财数据分析非常重要,它们分别是指人员、商品、场所、供应和财务,对这些要素进行数据分析,可以更好地了解市场需求、优化商品供应链、调整销售策略和提高盈利能力。零售数据量大、分析指标多且复…...
基于SSM的学生选课管理系统
基于SSM的高校校园学生选课系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringSpringMVCMyBatisVue工具:IDEA/Ecilpse、Navicat、Maven 系统展示 登录界面 专业管理 教师管理 课程管理 成绩管理 摘要 基于SSM的学生选课管…...
SQL注入漏洞
0x01 漏洞介绍 泛微e-office系统是标准、易用、快速部署上线的专业协同OA软件,国内协同OA办公领域领导品牌,致力于为企业用户提供专业OA办公系统、移动OA应用等协同OA整体解决方案。泛微e-office深谙改革之道以迎变革之机,沉心产品研发数十载…...
C++ wpf自制软件打包安装更新源码实例
程序示例精选 C wpf自制软件打包安装更新源码实例 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《C wpf自制软件打包安装更新源码实例》编写代码,代码整洁,规则&…...
8月19日PMP成绩,预计10月16日公布!附查询入口、流程
PMP的考试成绩一般在考后6-8周即可查询,8月PMP的成绩预计会在北京时间10月16日晚上公布,具体时间以官方公告为准。 如何查询8月考试成绩? 渠道一:收到PMI邮件提醒 当你注册PMI所使用的邮箱收到一封PMI发来的,标题为…...
简易LDO设计(包含原理图、PCB和实验)
一、前置知识 ①该电路是通过三极管(BJT)来实现的,所以需要知晓三极管的工作原理和特性。 ②三极管有三种状态:放大、饱和、截止。本文是利用三极管的放大状态来模拟LDO芯片的功能。 二、原理图 ①稳压二极管要想稳定到某个电压范…...
SpringBoot面试题5:SpringBoot Starter的工作原理是什么?
该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:SpringBoot Starter的工作原理是什么? Spring Boot Starter 是一种便捷的方式来为 Spring Boot 应用程序引入一组特定功能的依赖项。它简化了项目…...
Leetcode 2902. Count of Sub-Multisets With Bounded Sum
Leetcode 2902. Count of Sub-Multisets With Bounded Sum 1. 解题思路2. 代码实现3. 算法优化 题目链接:2902. Count of Sub-Multisets With Bounded Sum 1. 解题思路 这一题有点惭愧,因为没有搞定,遇上了超时问题…… 我的思路其实还是…...
ARP协议(地址解析协议) 的作用和操作过程
目录 1.问题: (在同一个LAN局域网内)如何在已知目的接口的IP地址前提下确定其MAC地址?2.问题:现在假设主机A要向目的主机B发送一个数据报,怎么发送呢?2.1在一个局域网内时2.1.1情况一:2.1.2情况…...
轻游戏风格虚拟资源付费下载模板Discuz论坛模板
轻游戏风格虚拟资源付费下载模板Discuz论坛模板,游戏资讯付费VIP源码模板。 模板说明: 1、模板名称:"qing游戏风格",版本支持:discuzx3.0版本,discuzx3.1版本,discuzx3.2版本&#…...
MongoDB索引操作
1、创建索引 语句: db.collection.createIndex(keys, options, commitQuorum) 选项参数名类型描述keys 包含排序字段和排序方式的对象, 值: 1为升序索引 -1为降序索引 options参数控制对象backgroundboolean 可选࿰…...
AMEYA360:君正低功耗AIoT图像识别处理器—X1600/X1600E
• 高性能 XBurst 1 CPU,主频1.0GHz • 超低功耗 • 内置LPDDR2(X1600:32MB,X1600E:64MB) • 实时控制核XBurst 0,面向安全管理和实时控制 • 丰富的外设接口 应用领域 • 基于二维码的智能商业 • 智能物联网 • 高端…...
EM@圆和圆锥曲线的参数方程
文章目录 abstract圆的参数方程匀速圆周运动的轨迹从普通方程直接转化为参数方程 任意位置圆心的方程参数方程一般方程例 交点问题的参数方程法 圆锥曲线的参数方程椭圆参数方程例椭圆内接矩形的最大面积问题 抛物线参数方程一般位置的抛物线例 双曲线的参数方程点到双曲线的最…...
uniapp 微信小程序 vue3.0+TS手写自定义封装步骤条(setup)
uniapp手写自定义步骤条(setup) 话不多说 先上效果图: setup.vue组件代码: <template><view class"stepBox"><viewclass"stepitem"v-for"(item, index) in stepList":key"i…...
Python 金融大数据分析
第一章 为什么将python用于金融 python编程语言 python是一种高级的多用途编程语言,广泛用于各种非技术和技术领域。 python是一种具备动态语义、面向对象的解释型高级编程语言。它的高级内建数据结构与动态类型及动态绑定相结合,使其在快速应用开发上…...
初识C++入门(1)
为什么会衍生出C? C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机,20世纪80年代,计算机界提出…...
使用Selenium的WebDriver进行长截图
from selenium import webdriver from PIL import Image from io import BytesIO # 创建浏览器驱动 driver webdriver.Chrome()# 打开网页 driver.get("https://www.douban.com/") # 替换为您要截图的网页URL def get_long_shot(driver,table_element):# 获取页面的…...
python+大数据校园卡数据分析 计算机竞赛
0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于yolov5的深度学习车牌识别系统实现 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:4分工作量:4分创新点:3分 该项目较为新颖&am…...
【机器学习】sklearn降维算法PCA
文章目录 降维PCAsklearn中的PCA代码实践 PCA对手写数字数据集的降维 降维 如何实现降维?【即减少特征的数量,又保留大部分有效信息】 将那些带有重复信息的特征合并,并删除那些带无效信息的特征等等,逐渐创造出能够代表原特征矩…...
华为云云耀云服务器L实例评测|企业项目最佳实践之评测用例(五)
华为云云耀云服务器L实例评测|企业项目最佳实践系列: 华为云云耀云服务器L实例评测|企业项目最佳实践之云服务器介绍(一) 华为云云耀云服务器L实例评测|企业项目最佳实践之华为云介绍(二) 华为云云耀云服务器L实例评测࿵…...
Xcode升级到15.0 解决DT_TOOLCHAIN_DIR问题
根据个人开发遇到的问题做的总结,公司要求Xcode 14.2 ,Swift 5.7开发,由于升级了Mac 14.0系统后,Xcode 14.2不能使用,解决方案目前有2个 一、在原来Xcode 14.2 的显示包内容,如图 二、升级到Xcode的15.0后…...
小谈设计模式(29)—访问者模式
小谈设计模式(29)—访问者模式 专栏介绍专栏地址专栏介绍 访问者模式角色分析访问者被访问者 优缺点分析优点将数据结构与算法分离增加新的操作很容易增加新的数据结构很困难4 缺点增加新的数据结构比较困难增加新的操作会导致访问者类的数量增加34 总结…...
【25】c++设计模式——>责任链模式
责任链模式定义 C中的责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它通过将请求沿着处理对象的链传递来避免把请求发送者与接收者耦合在一起。 责任链模式的主要思想是,通过将多个处理对象组成一条链&…...
网页布局方式/深圳seo优化外包公司
【填空题】在JSP中实现动态刷新页面可以使用方法。【判断题】两个列车互相交会,叫做会车;先到的列车在本站停车,等待后一个同方向的列车通过本站或到达本站停车后先开,叫做越行。【单选题】()装置是用外力迫使运行中机车车辆减速或停车的一种设备。【填空题】()是用不同颜色灯光…...
wordpress 前端个人中心 ajax 订单 支付宝/网站注册地址查询
问题描述 配置完静态IP,重启网卡失效, 且eth0网卡的信息看不到。 尝试一 /etc/init.d/networking start|stop,测试结果表明stop|start可用性更差。 执行sudo /etc/init.d/networking stop后,除了loopback其它网卡都被停掉&a…...
海南房产网站开发/广告推广方案怎么写
本文以一个现代的、实际的个人电脑为对象,分析其中CPU(Intel Core 2 Duo 3.0GHz)以及各类子系统的运行速度——延迟和数据吞吐量。通过粗略的估算PC各个组件的相对运行速度,希望能给大家留下一个比较直观的印象。本文中的数据来自…...
网站导航栏三级菜单代码/网站怎么推广效果好一点呢
基本类型与引用类型 在 ECMAScript 规范中,共定义了 7 种数据类型,分为 基本类型 和 引用类型 两大类,如下所示: 基本类型:String、Number、Boolean、Symbol、Undefined、Null 引用类型:Object 基本类型也…...
wordpress 调用页面/北京厦门网站优化
题目描述 约翰家的 N 头奶牛正在排队游行抗议。一些奶牛情绪激动,约翰测算下来,排在第 i 位的奶牛的理智度为 A i ,数字可正可负。约翰希望奶牛在抗议时保持理性,为此,他打算将这条队伍分割成几个小组,每个…...
静态网站/最新国际新闻10条
目录1. Undefined2. null3. Boolean4. String5. Number6. Symbol7. Object8. StringToNumber9. 装箱转换10. 封箱转换JavaScript 语言规定了七种语言类型。语言类型广泛用于变量、函数参数、表达式、函数返回值等场合。根据最新的语言标准,这 7 种语言类型是&#x…...