简单使用日志记录工具log4j?

268 阅读2分钟

一、定义: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("致命信息");
    }
}