Log4J常识

通常,我们都提供一个名为 log4j.properties的文件,在第一次调用到Log4J时,Log4J会在类路径中定位这个文件,并读入这个
文件完成的配置。这个配置文件告 诉Log4J以什么样的格式、把什么样的信息、输出到什么地方。Log4j有三个主要的组件:Loggers
(记录器),Appenders(输出源)和Layouts(布局),这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使
用这三个组件可以轻松的记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置。




Logger 

Logger负责处理日志记录的大部分操作。 
其语法为: 
log4j.rootLogger = [ level ] , appenderName, appenderName, … 
其中, level 是日志记录的优先级,分为 OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 ALL 或者自定义的级别。 
Log4j 建议只使用四个级别,优先级从高到低分别是 ERROR 、 WARN 、 INFO 、 DEBUG 。通过在这里定义的级别,您可以
控制到应用程序中相应级别的日志信息的开关。比如在这里定义了 INFO 级别,只有等于及高于这个级别的才进行处理,则应用
程序中所有 DEBUG 级别的日志信息将不被打印出来。 ALL: 打印所有的日志, OFF :关闭所有的日志输出。 appenderName 就
是指定日志信息输出到哪个地方。可同时指定多个输出目的地。 





Appender 

Appender配置日志信息输出目的地,负责控制日志记录操作的输出。 
其语法为: 
log4j.appender.appenderName = fully.qualified.name.of.appender.class 
log4j.appender.appenderName.option1 = value1 
log4j.appender.appenderName.optionN = valueN 

其中, Log4j 提供的 appender 有以下几种: 
org.apache.log4j.ConsoleAppender (控制台), 
org.apache.log4j.FileAppender (文件), 
org.apache.log4j.DailyRollingFileAppender (每天产生一个日志文件), 
org.apache.log4j.RollingFileAppender (文件大小到达指定尺寸的时候产生一个新的文件),可通过 
log4j.appender.appenderName.MaxFileSize=100KB 设置文件最大的大小,还可通过 
log4j.appender.appenderName.MaxBackupIndex=1 设置备份文件的最大个数。 
org.apache.log4j.WriterAppender (将日志信息以流格式发送到任意指定的地方) 
例: 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
定义一个名为 stdout 的输出目的地, ConsoleAppender 为控制台。 




Layout 

Log4j 提供的 layout 有以下几种: 
org.apache.log4j.HTMLLayout (以 HTML 表格形式布局), 
org.apache.log4j.PatternLayout (可以灵活地指定布局模式), 
org.apache.log4j.SimpleLayout (包含日志信息的级别和信息字符串), 
org.apache.log4j.TTCCLayout (包含日志产生的时间、线程、类别等等信息) 




格式化日志信息 

Log4J 采用类似 C 语言中的 printf 函数的打印格式格式化日志信息,打印参数如下: 
%p 输出优先级,即 DEBUG , INFO , WARN , ERROR , FATAL
%P 错误 
%m 输出代码中指定的消息 
%M 消息所在的函数名 
%r 输出自应用启动到输出该 log 信息耗费的毫秒数 
%R 错误 
%c 输出所属的类目,通常就是所在类的全名 
%C 效果跟%c一样 
%t 输出产生该日志事件的线程名 
%T 错误
%n 输出一个回车换行符, Windows 平台为 “rn” , Unix 平台为 “n” 
%N 错误
%d 输出日志时间点的日期或时间,默认格式为 ISO8601 ,也可以在其后指定格式,比如: %d{yyyy MMM dd HH:mm:ss,SSS} ,输出类似: 2002 年 10 月 18 日 22 : 10 : 28 , 921 
%D 错误
%l 输出日志事件类目名+函数名,文件名+代码中的行号。
%L 输出日志事件代码中的行号。
%f 错误
%F 输出日志所在的文件名
%% 输出一个"%"字符
可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如:
1)%20m:指定输出信息,最小的宽度是20,如果category的名称小于20的话,默认的情况下右对齐。
2)%-20m:指定输出信息,最小的宽度是20,如果category的名称小于20的话,"-"号指定左对齐。
3)%.30m:指定输出信息,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。
4)%20.30m:如果信息小于20就补空格,并且右对齐,如果其名称长于30字符,,就会将左边多出的字符截掉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值