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

Log4j2的PatternLayout详解

PatternLayout是一种布局策略(Layout),用于定义日志消息的输出格式。

<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>2023-03-27 14:30:23.456 [main] INFO com.example.MyClass - This is a log message.%d:        日期和时间,格式为 yyyy-MM-dd HH:mm:ss.SSS
%t:        线程名
%level:    日志级别,并且通过%-5level指定了左对齐并保留至少5个字符宽度
%logger:   完整类名或者Logger名称,这里限制显示36个字符
%msg:      日志消息内容
%n:        换行符
 <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5p %c{1.} - %m%n"/>2023-03-27 14:30:23.456 [main] INFO MyClass - This is a log message.%p:     日志级别(简写形式)左对齐且至少占用5个字符宽度。例如:"DEBUG""INFO"等。
%c:     类名或者Logger名称,这里只显示第一个包的名字
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p [%t] %c{1.}:%L - %m%n %xEx{full,separator=\n---------------\n}">2023-03-27 14:30:23.456 INFO [main] com.example.MyClass:123 - This is a log message.---------------java.lang.Exception: Some error occurredat com.example.MyClass.method(MyClass.java:45)at com.example.OtherClass.otherMethod(OtherClass.java:78)...:%L:     行号转换器,表示记录该日志事件的方法所在的行号。%xEx{full,separator=\n---------------\n}: 异常堆栈跟踪转换器,它会完整地输出异常及其堆栈跟踪信息,并在每个堆栈帧之间用自定义的分隔符(这里是多行短横杠)隔开。这样可以清晰地区分堆栈的不同部分,方便阅读和分析。

相关文章:

  • 如何使用Python+Flask搭建本地Web站点并结合内网穿透公网访问?
  • TypeScript实战系列之强力爆破泛型的困扰
  • vuex store,mutations,getters,actions
  • C++ 多线程编程中的条件变量std::condition_variable
  • 西瓜书学习笔记——层次聚类(公式推导+举例应用)
  • 在Ubuntu中修改系统时间并使其在掉电时保存
  • linux bash shell的getopt以及函数用法小记
  • 使用nginx对视频、音频、图片等静态资源网址,加token签权
  • python笔记10
  • 腾讯云Linux(OpenCloudOS)安装tomcat9(9.0.85)
  • Vite+Vue3使用Vue-i18n笔记
  • sql 行转列 日周月 图表统计
  • redis-4 集群
  • 前端JavaScript篇之object.assign和扩展运算法是深拷贝还是浅拷贝,两者区别、如何判断一个对象是空对象
  • 关于Spring Boot和MyBatis常见的十道面试题
  • 【译】JS基础算法脚本:字符串结尾
  • 【技术性】Search知识
  • 2018一半小结一波
  • Cookie 在前端中的实践
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • MySQL-事务管理(基础)
  • PHP 7 修改了什么呢 -- 2
  • php的插入排序,通过双层for循环
  • Rancher如何对接Ceph-RBD块存储
  • ReactNativeweexDeviceOne对比
  • Shadow DOM 内部构造及如何构建独立组件
  • Sublime Text 2/3 绑定Eclipse快捷键
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 京东美团研发面经
  • 聚类分析——Kmeans
  • 如何用vue打造一个移动端音乐播放器
  • 字符串匹配基础上
  • zabbix3.2监控linux磁盘IO
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • #考研#计算机文化知识1(局域网及网络互联)
  • (13):Silverlight 2 数据与通信之WebRequest
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (层次遍历)104. 二叉树的最大深度
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (九)信息融合方式简介
  • (南京观海微电子)——I3C协议介绍
  • (四)图像的%2线性拉伸
  • (算法二)滑动窗口
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • .CSS-hover 的解释
  • .net 简单实现MD5
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .NET的数据绑定
  • @ModelAttribute注解使用
  • @Pointcut 使用