- 小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
一、定义:log4j是一个日志记录的工具,可以根据信息的级别按照不同的方式和格式输出。 作用:- 控制日志的输出级别,控制日志信息输送的目的地是控制台、文件等,控制每一条日志的输出格式。
log4j主要有以下三部分组成:
1.日志器(Logger) 负责控制消息的输出,提供了各种不同级别的输出方法。
#logger level日志器 debug=输出级别 ,myconsole=输出方法(控制台输出) ,日志文件方法
2.输出器(Appender) 负责消息输出的方式,比如输出到控制台或者输出到文件里。 #appender 输出器 具体输出路径,有很多很多,选择了一种在下文来表示
3.布局器(Layout) 负责消息输出的格式,比如级别-消息。 #layout布局器 输出形式,有很多很多,下文只进行展示一下格式
二、实现
1.引入log4j.jar
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
2.在resources目录下定义log4j.properties文件,在该文件中定义消息输出的级别,采用哪种输出器以及哪种布局器等等
1.创建一个log4j.properties
log4j.rootLogger=debug,myconsole,myfile
log4j.appender.myconsole=org.apache.log4j.ConsoleAppender
log4j.appender.myfile=org.apache.log4j.FileAppender
log4j.appender.myfile.File=E:\mylog.txt
log4j.appender.myconsole.layout=org.apache.log4j.TTCCLayout
log4j.appender.myfile.layout=org.apache.log4j.PatternLayout
log4j.appender.myfile.layout.ConversionPattern=[%t] %5p -%m%n
输出格式类型:
%L:输出代码中的行号
%d:输出日志时间点或日期
%F:输出日志消息产生时所在的文件名称
%n:输出一个回车换行符,输出日志信息换行
%m:输出代码中指定的消息,产生的日志具体信息
%r:输出自应用启动到输出该log信息耗费的毫秒数
%p:输出日志信息优先级,即Debug,Info,Warn,Error,Fatal
%l:输出日志事件的发生位置,包括类名,发生的线程,以及在代码中的行数
3.在java代码中使用日志器输出消息
log4j.appender.myfile.File=E:\mylog.txt 输出路径在磁盘e的mylog.txt中
三、日志信息测试,注:五个日志级别
这里通过一个测试类来测试日志消息
public class TestLog4j {
@Test
public void test1(){
Logger logger = Logger.getLogger(TestLog4j.class);
logger.debug("调试信息");
logger.info("普通信息");
logger.warn("警告信息");
logger.error("错误信息");
logger.fatal("致命信息");
}
}