为啥叫Log4j?
Log4j
就是log for java
。是针对Java语言输出日志的工具,够见名知意吧?
Log4j干嘛的?
记录日志
为啥要记录日志?
为了记录便于分析。直接打印到控制台实在太low。
Log4j使用须知
要导包,jar文件,不导包玩个锤子
Log4j配置文件讲解
java配置文件采用key = value
的方式存储配置
实例配置文件:
log4j.rootLogger = debug,C,D,E
log4j.appender.C = org.apache.log4j.ConsoleAppender
log4j.appender.C.Target = System.out
log4j.appender.C.layout = org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern = [%5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = /home/soft01/log4j/debug.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = debug
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
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = /home/soft01/log4j/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
讲解:
-
rootLogger
: -
debug
: LEVEL日志记录的优先级 -
C,D,E
:目的地,表示日志会输出到这CDE这3个地方
配置信息输出方式:
-
org.apache.log4j.ConsoleAppender
:输出到控制台 -
org.apache.log4j.FileAppender
:输出到文件,且每天产生一个新文件 -
org.apache.log4j.DailyRollingFileAppender
:输出到文件,且每天产生一个新文件 -
org.apache.log4j.RollingFileAppender
:输出到文件,且当文件达到一定大小产生一个新文件
log4j.appender.C.Target
:发送的目的地:
-
System.out
:发送到控制台标准流 -
log4j.appender.D.File
:发送到指定的文件中
log4j.appender.E.Append
:文件追加方式
-
true
:追加 -
false
:覆盖
log4j.appender.E.Threshold
:指定消息输出的最低层次
debug
ERROR
log4j.appender.E.layout
:设置显示样式
-
org.apache.log4j.PatternLayout
:自定义模式 -
HtmlLayout
:HTML表格形式 -
SimpleLayout
:包含日志级别、信息的简单模式 -
TTCClayout
:包含日志时间、线程、类别的信息
log4j.appender.E.layout.ConversionPattern
:设置显示样式
[%5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
-
%5p
:p表示优先级,5表示输出宽度不够5位用空格补,补在p前(右对齐) -
%d
:时间格式表示后面会输出时间, -
%-d
:左对齐, -
%n
:换行 -
%t
:表示输出产生该日志事件的线程名 -
%i
:输出日志事件的发生位置,相当于%C.%M(%F:%L)
的组合,包括类目名、发生的线程,以及在代码中的行数
Log4j如何使用
- 准备好配置文件
将配置文件log4j.properties
放入src
文件夹中,编译时可以自动移植(找到对应字节码文件路径)。 - 获得日志对象
Logger log = Logger.getLogger(类名.class);
- 调用对应等级的方法。如
debug
logger.debug("干debug");
完整实例代码:
日志实例
网友评论