log4j的配置ConversionPattern详细讲解[通俗易懂]

log4j的配置ConversionPattern详细讲解[通俗易懂]原文来自https://blog.csdn.net/reserved_person/article/details/52849505感谢大佬先写下我一直没找到的ConversionPattern里面参数代表的详细含义参数 说明 例子 %c 列出logger名字空间的全称,如果加上{<层数>}表示列出从最内层算起的指定层数的名字空间 log4j配置文件…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

原文来自https://blog.csdn.net/reserved_person/article/details/52849505感谢大佬

先写下我一直没找到的ConversionPattern里面参数代表的详细含义

参数 说明 例子
%c 列出logger名字空间的全称,如果加上{<层数>}表示列出从最内层算起的指定层数的名字空间 log4j配置文件参数举例 输出显示媒介
假设当前logger名字空间是”a.b.c”
%c a.b.c
%c{2} b.c
%20c (若名字空间长度小于20,则左边用空格填充)
%-20c (若名字空间长度小于20,则右边用空格填充)
%.30c (若名字空间长度超过30,截去多余字符)
%20.30c (若名字空间长度小于20,则左边用空格填充;若名字空间长度超过30,截去多余字符)
%-20.30c (若名字空间长度小于20,则右边用空格填充;若名字空间长度超过30,截去多余字符)
%C 列出调用logger的类的全名(包含包路径) 假设当前类是”org.apache.xyz.SomeClass”
%C org.apache.xyz.SomeClass
%C{1} SomeClass
%d 显示日志记录时间,{<日期格式>}使用ISO8601定义的日期格式 %d{yyyy/MM/dd HH:mm:ss,SSS} 2005/10/12 22:23:30,117
%d{ABSOLUTE} 22:23:30,117
%d{DATE} 12 Oct 2005 22:23:30,117
%d{ISO8601} 2005-10-12 22:23:30,117
%F 显示调用logger的源文件名 %F MyClass.java
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数 %l MyClass.main(MyClass.java:129)
%L 显示调用logger的代码行 %L 129
%m 显示输出消息 %m This is a message for debug.
%M 显示调用logger的方法名 %M main
%n 当前平台下的换行符 %n Windows平台下表示rn
UNIX平台下表示n
%p 显示该条日志的优先级 %p INFO
%r 显示从程序启动时到记录该条日志时已经经过的毫秒数 %r 1215
%t 输出产生该日志事件的线程名 %t MyClass
%x 按NDC(Nested Diagnostic Context,线程堆栈)顺序输出日志 假设某程序调用顺序是MyApp调用com.foo.Bar
%c %x – %m%n MyApp – Call com.foo.Bar.
com.foo.Bar – Log in Bar
MyApp – Return to MyApp.
%X 按MDC(Mapped Diagnostic Context,线程映射表)输出日志。通常用于多个客户端连接同一台服务器,方便服务器区分是那个客户端访问留下来的日志。 %X{5} (记录代号为5的客户端的日志)
%% 显示一个百分号 %% %

关于ConversionPattern的字符串解析,以下面的为例:

log4j的配置ConversionPattern详细讲解[通俗易懂]log4j.appender.stdout.layout.ConversionPattern =  %d{ABSOLUTE} %5p %c{ 1 }:%L – %m%n

这是一个输出到控制台的设置,而里面是拼接的字符串%d{ABSOLUTE}代表时间输出格式,%5p 日志的优先级输出,%c{ 1 }调用类的输出,: 代表拼接的字符串会直接输出为:,%L输出详细的代码行,- 也是拼接的字符串直接输出,%m%n输出你定义需要输出的东西,并且换行。输出例子为:   

 2018-08-30-10-49 ERROR  cn.com.longone.appstore.quartz.UserUpdateJob:(UserUpdateJob.java:104) –  ************

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/172088.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python中encode和decode的区别_python rindex

    python中encode和decode的区别_python rindex1.基本语法1.encode()和decode()都是字符串的函数decode解码encode编码str———>str(Unicode,byte类型)———>str2.decode()与encode()方法可以接受参数,其声明分别为:其中的encoding是指在解码编码过程中使用的编码(此…

    2022年10月6日
    3
  • Intellij idea创建springboot项目时报错Artifact contains illegal characters

    Intellij idea创建springboot项目时报错Artifact contains illegal characters

    2021年5月16日
    180
  • Activity工作流引擎入门

    Activity工作流引擎入门https://blog.csdn.net/fafa211/article/details/79297305https://www.imooc.com/article/details/id/35590

    2022年7月11日
    21
  • 您的个人资料来自新版GoogleChrome_google guice

    您的个人资料来自新版GoogleChrome_google guice   来源:德胜网    4月6日,据国外媒体报道,谷歌希望作出额外的确认Buzz用户都知道他们的隐私设置。    在过去的周一一天内,谷歌计划要求Buzz用户当他们登陆进入该服务时重新确认他们的隐私偏好。这样做是为了表明现有的用户相同的确认画面,Buzz自动关注自己的Gmail联络人隐私权反弹增长之后谷歌争取为新用户建立该服务。    目前,该系统“建议”关注联系

    2022年10月16日
    4
  • MySQL 创建数据库和创建数据表

    MySQL 创建数据库和创建数据表MySQL 创建数据库和创建数据表 MySQL 是最常用的数据库 在数据库操作中 基本都是增删改查操作 简称 CRUD 在这之前 需要先安装好 MySQL 然后创建好数据库 数据表 操作用户 一 数据库操作语言数据库在操作时 需要使用专门的数据库操作规则和语法 这个语法就是 SQL StructuredQu 结构化查询语言 SQL 的主要功能是和数据库建立连接 进行增删改查的操作 SQL 是关系型数据库管理系统的标准语言 SQL 语言的作用 1 数据定义语

    2025年10月12日
    4
  • 进程的同步、互斥、通信的区别,进程与线程同步的区别[通俗易懂]

    进程的同步、互斥、通信的区别,进程与线程同步的区别[通俗易懂]这两天看进程的同步与通信,看了几本书上的介绍,也从网上搜了很多资料,越看越迷惑,被这几个问题搞得很纠结。进程同步与互斥的区别?进程的同步方式有哪些?进程的通信方式有哪些?进程同步与通信的区别是什么?线程的同步/通信与进程的同步/通信有区别吗?在好多教材上(包括国内与国外的)也没有明确这些概念,现在对每个问题还没有准确的答案,下面将自己的理解记下来,以后再补充。参考资料:《操作系统教程》孙钟秀主编…

    2025年5月26日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号