大家好,又见面了,我是你们的朋友全栈君 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)一些输出格式说明: 可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如: c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,默认的情况下右对齐。 %-20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,”-”号指定左对齐。 %.30c:指定输出category的名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。 .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