一、日志:除了能记录异常信息,还可以记录程序正常运行时的关键信息。
使用log4j来进行日志文件记录经典步骤:
01.在项目中创建一个lib文件夹,然后将下载好的jar包copy到该文件夹下
02.对已经copy过来的jar包,点击右键,然后执行下图操作
项目中就会多出一个引入外部Library的项目
03.在src目录下创建一个名称为log4j.properties文件
04.编写,粘贴已经写好的配置文件内容,编码方式可以做下修正。书写log4j.properties文件如下:
### 设置Logger输出级别和输出目的地 ### log4j.rootLogger=debug, logfile ### 把日志信息输出到文件:jbit.log ### log4j.appender.logfile=org.apache.log4j.FileAppender log4j.appender.logfile.File=jbit.log log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %F %p %m%n
Main方法所在的类中,添加如下代码:
public static Logger logger=Logger.getLogger("log4j"); public static void main(String[] args) { logger.debug("日志文件!"); System.out.println("成功!"); }
二、其中 [level] 是日志输出级别,共有5级
①fatel:指出严重的错误事件将会导致应用程序的退出
②error:指出虽然发生错误事件,但仍然不影响系统的继续运行
③warn:表明会出现潜在错误的情形
④info:在粗粒度级别上指明消息,强调应用程序的运行过程
⑤debug:指出细粒度信息事件,对调试应用程序是非常有帮助的
三、Appender 为日志输出目的地,Log4j提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台), org.apache.log4j.FileAppender(文件), org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件), org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件), org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
四、Layout:日志输出格式,Log4j提供的layout有以下几种:
org.apache.log4j.HTMLLayout(以HTML表格形式布局), org.apache.log4j.PatternLayout(可以灵活地指定布局模式), org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串), org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
五、打印参数: Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,如下:
%m 输出代码中指定的消息 %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL %r 输出自应用启动到输出该log信息耗费的毫秒数 %c 输出所属的类目,通常就是所在类的全名 %t 输出产生该日志事件的线程名 %n 输出一个回车换行符,Windows平台为“ ”,Unix平台为“ ” %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS},输出类似:2002年10月18日 22 : 10 : 28 , 921 %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java: 10 )