前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >log4j学习笔记–ConversionPattern参数详解– RollingFileAppender选项

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

作者头像
全栈程序员站长
发布2022-09-23 10:05:54
1K0
发布2022-09-23 10:05:54
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君 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.cn/172100.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
日志服务
日志服务(Cloud Log Service,CLS)是腾讯云提供的一站式日志服务平台,提供了从日志采集、日志存储到日志检索,图表分析、监控告警、日志投递等多项服务,协助用户通过日志来解决业务运维、服务监控、日志审计等场景问题。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档