java log4j日志

首先下载log4j.jar包,去官网下就好了

然后新建一个lg4j.properties文件,用记事本新建然后改名就好,然后配置properties文件

以下面的配置为例

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender

log4j.appender.D.File = log/log.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|%p|%c|%l|%m%n

org.apache.log4j.DailyRollingFileAppender表示每天产生一个日志文件,file表示日志存储的地址,threshold表示输入到这个日志里的信息的下界,之后会介绍信息的级别,org.apache.log4j.PatternLayout表示可以灵活地指定布局模式,log4j.appender.D.layout.ConversionPattern则指定了输出信息的格式,之后也会指出。


下面来具体了解一下这些配置的具体种类

Log4j提供的appender有以下几种:

org.apache.log4j.ConsoleAppender(输出到控制台)

org.apache.log4j.FileAppender(文件)

org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

Log4j提供的layout有以下几种:

org.apache.log4j.HTMLLayout(以HTML表格形式布局)

org.apache.log4j.PatternLayout(可以灵活地指定布局模式)

org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)


打印参数如下: 

%m 输出代码中指定的消息

%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL 

%r 输出自应用启动到输出该log信息耗费的毫秒数  

%c 输出所属的类目,通常就是所在类的全名  

%t 输出产生该日志事件的线程名  

%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”  

%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日22:10:28,921

%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。


信息的优先级:

A:off 最高等级,用于关闭所有日志记录。

B:fatal 指出每个严重的错误事件将会导致应用程序的退出。

C:error 指出虽然发生错误事件,但仍然不影响系统的继续运行。

D:warm 表明会出现潜在的错误情形。

E:info 一般和在粗粒度级别上,强调应用程序的运行全程。

F:debug 一般用于细粒度级别上,对调试应用程序非常有帮助。

G:all 最低等级,用于打开所有日志记录。


然后在代码中需要将信息输出到日志中,只需要向下面这样操作:

private static Logger logger = Logger.getLogger(this.class);

logger.info(message);

就可以输出一个info级别的message到日志中,一定要注意,Java自动纠错会提示你所有可以导入的log4j包,但是一定不能乱选不然仍然会报错,提供一下参考我导入的是

import org.apache.log4j.Logger;

然后输出的日志大概形式就如下面这样:

2018-06-10 12:57:14|main|INFO|graph.ConcreteGraph|graph.ConcreteGraph.addEdge(ConcreteGraph.java:143)|边GMFD添加成功

2018-06-10 12:57:14|main|INFO|graph.ConcreteGraph|graph.ConcreteGraph.addEdge(ConcreteGraph.java:143)|边SRMF添加成功

你可能感兴趣的:(java log4j日志)