java Logback 日志格式参数详细说明

news2024/11/19 20:34:30

logback 打印日志格式介绍官网
Springboot [日志管理LogBack]

java Logback 日志格式参数详细说明

打印日志格式:

<property name="LOG_PATTERN" value="[${APP_NAME} ${SERVER_IP}:${SERVER_PORT}] %d{yyyy-MM-dd HH:mm:ss.SSS} %level ${PID} [%X{traceId}-%X{spanId}] [%thread] %logger %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>

Logback 参数说明

%logger

输出日志 所属的类的全名。等价:

%logger = %lo = %c

在这里插入图片描述

使用说明:

  • %logger 默认不给长度,显示所有。
  • 日志名字,最右边的名字永远不会被缩写,不管你给的长度是不是小于最右边的长度。
  • 其他部分,最少被缩短到一个字符,但不会被完全删除。
%logger{5}:%L

%L: 显示打印日志行号

%class

类名。等价:

%class = %C

使用说明:

  • 打印出类名信息,不被推荐使用。除非执行速度不是问题。

%data

输出日志时间,指定格式的方式:%d{yyyy-MM-dd HH:mm:ss}。等价:

%data = %d

%data

%file

输出类名。等价:

%file = %F

使用说明:

  • 和打印出类名信息一样,不被推荐使用。除非执行速度不是问题。

%line

输出日志事件的发生位置,即输出日志讯息的语句在他所在类别的第几行。等价:

%line = %L

使用说明:

  • 和打印出类名信息一样,不被推荐使用。除非执行速度不是问题。

%msg

输出代码中指定的讯息,如:log(message) 中的 message。等价:

%msg = %m = %message

%method

方法名,日志请求发出的方法的方法名。等价:

%method = %M

使用说明:

  • 和打印出类名信息一样,不被推荐使用。除非执行速度不是问题。

%n

输出一个换行符号。

使用说明:

  • %n 换行的效果和 \ n 或者 \ r\n 效果一样 在日志中起到换行的效果。

%level

输出优先级,即 DEBUG、INFO、WARN、ERROR、FATAL。等价:

%level = %p = %le

关于这里 -5 的解释:【是否左对齐以及空格填充,最大字符和最小字符等,有兴趣可以自己研究一下】

%level

%level

%relative

输出自应用启动到输出该日志讯息所耗费的毫秒数。等价:

%relative = %r

%thread

输出产生该日志事件的线程名。等价:

%thread = %t

%i

这个在官方文档没有,但是它代表的是序号的意思

尤其在生成日志文件的时候,这个是非常有必要的,因为日志文件必须要设置最大文件大小,如果在生成日志文件的规则内,一个日志文件生成到了最大值,那就需要生成 2 号文件。

Logback 彩色日志

Logback 可配置多种颜色,支持:%black,%shired,%green,%yellow,%blue,%magenta,%cyan,%white,%gray,%boldRed,%boldGreen,%boldYellow,%boldBlue,%boldMagenta%boldCyan,%boldWhite,%highlight。

pattern 输出格式配置

<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
 
<!-- 彩色日志格式 -->
<property %clr([${APP_NAME} ${SERVER_IP}:${SERVER_PORT}]){green} %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%level) %clr(${PID}){magenta} %clr([%X{traceId}-%X{spanId}]){yellow} %clr([%thread]){blue} %clr(%logger){cyan}.%clr(%method:%line){blue} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>

logback 指定异常堆栈信息的输出行数

使用logback作为日志输出框架实现。
当程序出现异常时,输出的堆栈信息一般很多,但对于排查问题时是有点多余的,一般都是第三方包内部的各种调用信息,而对我们有用的信息往往就在上面几行
此时可以选择简化堆栈信息的打印,指定堆栈信息输出行数

在pattern标签中添加如下信息即可
%ex{5}
1示例
%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{traceId}] [%p] [%c{0}:%L] %m %n %ex{5}
参考文档
http://logback.qos.ch/manual/layouts.html#formatModifiers

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1867147.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【项目实训】面试经验总结页面编写(前期探索)

首先&#xff0c;我们想尝试编写和chatchat项目兼容的页面展示部分&#xff0c;在编写成功之后&#xff0c;由于streamlit库是一个很强大的python库&#xff0c;比较死板&#xff0c;做出的页面并不尽如人意&#xff0c;于是我们放弃了这种方法。但这也是探索前端页面展示形式的…

【Android面试八股文】Framework面试:ThreadLocal的原理,以及在Looper是如何应用的?

文章目录 ThreadLocal的原理,以及在Looper是如何应用的?ThreadLocal 是什么ThreadLocalMap是什么?ThreadLocal在Looper中的应用**总结**扩展阅读ThreadLocal的原理,以及在Looper是如何应用的? ThreadLocal 可以把一个对象保存在指定的线程中,对象保存后,只能在指定线程…

找不到模块“@/stores/xxx”或其相应的类型声明。

找不到模块“/stores/xxx”或其相应的类型声明。 问题图示 在 Vue3 项目中&#xff0c;特别是在使用 TypeScript 时&#xff0c;/ 符号通常是用来代表项目根目录的别名。例如&#xff0c;/stores/xxx 可能是指向你项目中的某个 store 文件或目录。出现找不到模块的错误通常是由…

FastGPT 调用Qwen 测试Hello world

Ubuntu 安装Qwen/FastGPT_fastgpt message: core.chat.chat api is error or u-CSDN博客 参考上面文档 安装FastGPT后 登录&#xff0c; 点击右上角的 新建 点击 这里&#xff0c;配置AI使用本地 ollama跑的qwen模型 问题&#xff1a;树上有3只鸟&#xff0c;开了一枪&#…

【C++】内存分区

目录 内存分区代码运行前后区别各分区详细解释C内存申请和释放 内存分区 不同的操作系统对程序内存的管理和划分会有所不同。 此处是C内存区域划分主要是针对通用的情况&#xff0c;并不限定在某个特定操作系统上 一般分为4个区&#xff08;有时把全局区拆分成数据区未初始化…

Git企业开发---初识Git

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂&#xff0c;年薪百万&#xff01; 引言 不知道大家有没有经历这种困惑&#xff0c;当我们要去交某文档时&#xff0c;总是要进行修改&#xff0c;修改后再交…

python3用两个栈实现一个队列

栈与队列 栈&#xff1a;先入后出&#xff0c;First In First Out (FIFO) &#xff0c;类似桶&#xff08;入到桶底、取从桶顶&#xff09; 队列&#xff1a;先入先出&#xff0c;First In Last Out (FILO) 用两个栈实现一个队列 两个桶&#xff08;栈&#xff09;&#x…

linux centos rabbitmq3.7.5 一键安装部署

linux centos rabbitmq3.7.5 一键安装部署 一、基础理论二、kafka和rocketmq、rabbitmq的区别三、下载所需安装包四、一键安装 一、基础理论 RabbitMQ是一个实现了高级消息队列协议&#xff08;AMQP&#xff09;的开源消息代理软件&#xff0c;其作用主要体现在以下几个方面&a…

K8S -理解StatefulSet - 部署有状态应用

什么是 有状态服务和 无状态服务 有状态服务&#xff08;Stateful Service&#xff09;&#xff1a; 有状态服务是指在处理请求期间维护和跟踪用户状态或会话信息的服务。这意味着服务在多个请求之间保持状态&#xff0c;并且需要在请求之间共享和使用这些状态信息。通常&…

常微分方程算法之编程示例五(阿当姆斯法)

目录 一、研究问题 二、C代码 三、计算结果 一、研究问题 本节我们采用阿当姆斯法&#xff08;Adams法&#xff09;求解算例。 阿当姆斯法的原理及推导请参考&#xff1a; 常微分方程算法之阿当姆斯法&#xff08;Adams法&#xff09;_四步四阶adams显格式;三步四阶adams隐…

【STM32】外部中断

1.EXTI简介 外部中断/事件控制器(EXTI)管理了控制器的23个中断/事件线。每个中断/事件线都对应有一个边沿检测器&#xff0c;可以实现输入信号的上升沿检测和下降沿的检测。 EXTI可以实现对每个中断/事件线进行单独配置&#xff0c;可以单独配置为中断或者事件&#xff0c;以及…

Spring Ai入门

SpringAI是一个AI工程应用框架&#xff0c;旨在将Spring生态系统的设计原则&#xff08;如可移植性和模块化设计&#xff09;应用于AI领域。它推广使用Plain Old Java Object&#xff08;POJO&#xff09;作为AI应用程序的构建块&#xff0c;从而为Java开发者提供了一种更简洁的…

JavaScript中常用数据类型做布尔值(Boolean)转换

一、前言 二、示例 1、String转Boolean 2、Number转Boolean 3、NaN、Null、undefined 转Boolean 4、Object转Boolean 5、Array转Boolean 6、Symbol转Boolean 三、总结 四、思考 一、前言 JavaScript中&#xff0c;经常需要对一些值进行boolean判断&#xff0c;根据判…

【efinix】efinity如何安装官方补丁patch

efinix官网可以下载efinity的官方补丁。 下载 efinity-2023.2.307.5.10-windows-x64-patch.zip 解压缩补丁zip 压缩包内容 files/ : updated files to be copied into the Efinity installation run.sh : patch installation script (Linux on…

【Nginx】静态资源访问配置

nginx 静态资源访问配置 Nginx 静态资源访问配置 通过该片文章&#xff0c;你能了解图中的内容&#xff1a; 实际问题 Nginx 应该怎么写&#xff0c;才能匹配这个图片资源路径&#xff1f; http://47.120.10.110:7001/public/images/picture.jpg解决方案 你需要配置一个 N…

Redis-Geospatial数据类型及其常用命令详解

1.Redis概述 2.Geospatial 数据类型 Redis 的 Geospatial 数据类型可以存储地理空间的位置信息和执行地理相关的查询。比如查找指定半径内的所有位置、计算两个位置之间的距离等。Redis 使用有序集合 (sorted sets) 来实现这些功能。 3.存储和性能 Geospatial 数据在 Redis 中…

2023 年度国家科学技术奖励公布

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

php goto解密脚本源码

php goto解密脚本源码 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/89426171 更多资源下载&#xff1a;关注我。

【数学建模】 函数极值与规划模型

文章目录 函数极值与规划模型1. 线性代数和线性规划的联系1.1 线性代数的基本概念1.2 线性规划的基本概念1.3 线性代数与线性规划的联系矩阵和向量线性方程组单纯形法内点法凸优化 1.4 例子 2. Numpy有关矩阵运算示例2.1 矩阵的创建2.2 矩阵的基本运算2.3 矩阵的合并2.4 矩阵的…

.NET C# 使用OpenCV实现人脸识别

.NET C# 使用OpenCV实现模型训练、人脸识别 码图~~~ 1 引入依赖 OpenCvSHarp4 - 4.10.0.20240616 OpenCvSHarp4.runtime.win - 4.10.0.20240616 2 人脸数据存储结构 runtime directory | face | {id}_{name} | *.jpg id - 不可重复 name - 人名 *.jpg - 人脸照片3 Demo 3.…