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(每分钟)

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

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

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


相关推荐

  • PHP实现删除数组中的特定元素

    PHP实现删除数组中的特定元素PHP实现删除数组中的特定元素

    2022年4月24日
  • pytorch word2vec_word2vec和lstm

    pytorch word2vec_word2vec和lstmword2vec原理(一):CBOW与Skip-Gram模型基础word2vec原理(二):基于HierarchicalSoftmax的模型word2vec原理(三):基于NegativeSampling的模型目录1.词向量基础1.1One-Hot编码(独热编码)1.2分布式表示:词向量/词嵌入1.3词向量可视化1.4用词嵌入做迁移学习2….

    2022年9月7日
  • bootstrap-datepicker限定可选时间范围

    bootstrap-datepicker限定可选时间范围一、应用场景实际应用中可能会根据日期字段查询某个日期范围内的数据,则需要对日期选择器可选时间进行限制,如:开始时间不能大于结束时间,结束时间不能小于开始时间,此时就要为开始日期选择器和结束日期选择器动态的设置startDate和endDate的值。二、相关知识点1、bootstrap-datepicker的初始化引入bootstrap-datepicker.js和boot…

    2022年6月22日
  • Java JDK8下载 (jdk-8u251-windows-x64和jdk-8u271-linux-x64.tar)

    Java JDK8下载 (jdk-8u251-windows-x64和jdk-8u271-linux-x64.tar)jdk-8u251-windows-x64和jdk-8u271-linux-x64.tar链接:https://pan.baidu.com/s/1gci6aSIFhEhjY8F48qH39Q提取码:l289复制这段内容后打开百度网盘手机App,操作更方便哦JDK国国内官网下载地址:https://www.oracle.com/cn/java/technologies/javase-downloads.htmlJDK8国内官网下载地址:https://www.oracle.com/cn/j

    2022年7月21日
  • 动态规划之01背包问题及其优化(python实现)「建议收藏」

    动态规划之01背包问题及其优化(python实现)「建议收藏」动态规划之01背包问题及其优化(python实现)**背包问题(**Knapsackproblem)是一种组合优化的NP完全问题。问题描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。问题的名称来源于如何选择最合适的物品放置于给定背包中。解决思路:动态规划,对每一件物品遍历背包容量,当背包可容纳值大于等于当前物品,与之前已放…

    2022年7月26日
  • 杭州电 3711 Binary Number

    杭州电 3711 Binary Number

    2022年1月17日

发表回复

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

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