log4j学习笔记–ConversionPattern参数详解– RollingFileAppender选项

log4j学习笔记–ConversionPattern参数详解– RollingFileAppender选项1、rootLogger与rootCategory的区别rootLogger是新的使用名称,对应Logger类rootCategory是旧的使用名称,对应原来的Category类Logger类是Category类的子类,所以,rootCategory是旧的用法,不推荐使用2、格式参数a)例句:log4j.appender.stdout.layout.Conver

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

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
1、rootLogger与rootCategory的区别

rootLogger是新的使用名称,对应Logger类

rootCategory是旧的使用名称,对应原来的Category类

Logger类是Category类的子类,所以,rootCategory是旧的用法,不推荐使用

2、格式参数

a)例句 : log4j.appender.stdout.layout.ConversionPattern= [QC] %p [%t] %C.%M(%L) | %m%n

%m 输出代码中指定的消息

%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL

%r 输出自应用启动到输出该log信息耗费的毫秒数

%t 输出产生该日志事件的线程名

%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”

%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921

%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。相当于%C%M(%F:%L)

%L 只输出在代码中的行数。

%c 输出所属的类目,通常就是所在类的全名。这个类名是你初始化logger的时候传给logger的类名,即category。若你初始化时的语句如下:private final Logger log = Logger.getLogger(LogTest.class);则%c所指示的类名为:LogTest。

%c{n} n表示显示的包路径层数,如%c显示:com.spring.login.test,则%c{1}显示:test。而%c{2}显示:login.test。

%C(c大写) 输出日志所属类目的调用者的全类名。此处输出的是调用logger的那个类的名字,比如你有一个类叫:LogCaller,而你在初始化logger是传给他的参数却是:LogTest.class。那么使用大写的%C后实际打出的类是调用类,即LogCaller。性能较差,不建议使用。

[QC]是log信息的开头,可以为任意字符,一般为项目简称。

b)不常用的几个:

%F 输出日志消息产生时所在的文件名称。性能不好,不建议使用

%M 输出日志消息产生时所在的方法名称。性能不好,不建议使用

%x 输出和当前线程相关联的NDC(nested diagnostic context)环境,用于多客户多线程的应用中

%X 输出和当前线程相关联的MDC(mapped diagnostic context)环境。

c)一些输出格式说明:

可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如:

%20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,默认的情况下右对齐。

%-20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,”-”号指定左对齐。

%.30c:指定输出category的名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。

%20.30c:如果category的名称小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边将多出的字符截掉。

3、RollingFileAppender选项

Threshold=DEBUG:指定日志消息的输出最低层次。

File=mylog.txt:指定消息输出到mylog.txt文件。

MaxFileSize=100KB: 后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到mylog.log.1文件。

MaxBackupIndex=2:指定可以产生的滚动文件的最大数。

ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。

Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。

实例:

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender

log4j.appender.D.File = D:/work/test/test.log

log4j.appender.D.DatePattern=’.’yyyy-MM-dd-HH-mm ##设置为每分钟产生一个日志文件

log4j.appender.D.Threshold = info ##设置该日志文件记录的日志级别为info及更高级

log4j.appender.D.layout = org.apache.log4j.PatternLayout

log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] – [ %p ]  %m%n

在DailyRollingFileAppender中可以指定monthly(每月)、 weekly(每周)、daily(每天)、half-daily(每半天)、hourly(每小时)和minutely(每分钟)六个频度,这是通过为 DatePattern选项赋予不同的值来完成的。DatePattern选项的有效值为:

   ‘.’yyyy-MM,对应monthly(每月)

   ‘.’yyyy-ww,对应weekly(每周)

   ‘.’yyyy-MM-dd,对应daily(每天)

   ‘.’yyyy-MM-dd-a,对应half-daily(每半天)

   ‘.’yyyy-MM-dd-HH,对应hourly(每小时)

   ‘.’yyyy-MM-dd-HH-mm,对应minutely(每分钟)

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/172100.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 数据结构C语言严蔚敏版(第二版)超详细笔记附带课后习题[通俗易懂]

    数据结构C语言严蔚敏版(第二版)超详细笔记附带课后习题[通俗易懂]根据此书所做随笔笔记。一、绪论1.1、数据机构的研究内容用计算机解决实际问题时,步骤:首先分析实际问题,从中抽象出一个适当的数学模型,然后设计一个解决此数学模型的算法,最后编程,调试,测试。寻求数据模型的实质是分析问题,从中提取出计算机处理的对象,并找出这些对象之间的关系,然后用数学的语言加以描述。关键:分析问题中所用到的数据是如何组织的,研究数据之间存在什么样的关系。由于数据必须在计算机中处理,因此不能局限于数据本身的数学问题的研究,还必须考虑数据的物理结构,即数据在计算机中的存储结构。1.

  • ES6基础:箭头函数

    ES6基础:箭头函数ES6基础系列(三)箭头函数简要分析一个为什么会有箭头函数,它的意义是什么?

  • 巧用ViewPager 打造不一样的广告轮播切换效果

    巧用ViewPager 打造不一样的广告轮播切换效果转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/51339751;本文出自:【张鸿洋的博客】一、概述如果大家关注了我的微信公众号的话,一定知道我在5月6号的时候推送了一篇文章,文章名为Android超高仿QQ附近的人搜索展示(一),通过该文可以利用ViewPager实现单页显示多个Item且能够添加一些炫酷的动画效

  • MySQL 1045登录失败

    MySQL 1045登录失败当你登录MySQL数据库出现:Error1045错误时(如下图),就表明你输入的用户名或密码错误被拒绝访问了,最简单的解决方法就是将MySQL数据库卸载然后重装,但这样的缺点就是就以前的数据库中的信息将丢失,如果你不想重装,那么就需要找回密码或者重置密码。解决的方法应该有多种,这里我推荐大家使用一种原理通过,操作简单的方法,适用于windows以及linux平台。 MySQL1045错误如

  • iso qemu 安装ubuntu_ubuntu – Android-x86_64安装程序无法在QEMU / KVM中启动 – 而是显示EFI Shell…

    iso qemu 安装ubuntu_ubuntu – Android-x86_64安装程序无法在QEMU / KVM中启动 – 而是显示EFI Shell…我想将它安装到运行在Ubuntu16.0464位上的虚拟机上,UEFI使用QEMU/KVM和virt-manager作为图形前端.安装OVMF并正确配置虚拟机管理程序,作为具有UEFI的Ubuntu测试虚拟机,其虚拟磁盘文件和安装程序映像在同一位置正常工作.但是,当我使用下面转储的设置启动新创建的VM并将下载的Android-x86映像安装到虚拟CD驱动器中时,它不会启动但显示EFISh…

  • 五大主流浏览器及四大内核1

    五大主流浏览器及四大内核1

    2021年10月23日

发表回复

您的电子邮箱地址不会被公开。

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