Log4j的使用•小实验

Log4j的使用·小实验

写在前面:

该文章纯属小白文章,适合没有用过log4j但是想从实践入手的同学参考;写本文的动机是之前我在公司做项目的时候,有涉及到log4j(埋点日志),于是打算去网上找点小案例来自己动手模仿一下,但是发现的大多数案例还是不足以被我称之为“入门案例”。所以我就索性自己写一篇了;

本文纯属入门。看完这篇文,其余的知识你可以在此基础上去实践;

Log4j小实验

1.  新建项目,导入依赖包

新建项目我就不多说了,就是建一个项目而已,Java项目或者maven项目都无所谓的;我这里新建的是maven项目,因为maven项目导入依赖包比较方便,考虑到是入门文章,所以可能你新建的是Java项目但是你不会导入依赖包,没事,我文章最后有顺带说了一下Java项目怎么导入依赖的jar包

新建一个maven项目对名称和其他设置啥的没什么要求,毕竟只是一个小实验而已,怎么开心怎么来;

Maven的依赖包导入我之前说过,相对的会比较方便,新建了maven项目之后,项目只需要在项目中的pom.xml里加几句话就可以了:

Log4j的使用•小实验

1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  

2.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  

3.     <modelVersion>4.0.0</modelVersion>  

4.     <groupId>Gavin</groupId>  

5.     <artifactId>experiment</artifactId>  

6.     <version>0.0.1-SNAPSHOT</version>  

7.   

8.     <dependencies>  

9.         <!-- https://mvnrepository.com/artifact/log4j/log4j -->  

10.        <dependency>  

11.            <groupId>log4j</groupId>  

12.            <artifactId>log4j</artifactId>  

13.            <version>1.2.14</version>  

14.        </dependency>  

15.  

16.    </dependencies>  

17.</project>  

2.  新建一个类来使用log4j

有了依赖的jar包,之后就把这个jar包使用起来;我新建了一个类(类名和包名什么的都无所谓的),代码里的东西很简洁,没有多余的东西,就搞一个Logger的对象,然后使用这个logger对象分别打印级别的信息:

Log4j的使用•小实验

1. package experiment;  

2.   

3. import org.apache.log4j.Logger;  

4.   

5. public class Mylog4j {  

6.     private static final Logger logger = Logger.getLogger(Mylog4j.class);  

7.     public static void main(String[] args) {  

8.         //FATAL、ERROR、WARN、INFO、DEBUG、ALL 级别从高到低  

9.         logger.fatal("5");  

10.        logger.error("4");  

11.        logger.warn("3");  

12.        logger.info("2");  

13.        logger.debug("1");  

14.    }  

15.}  

3.  添加log4j配置文件

写好了log4j的代码之后直接运行是不行的,会报这样的错:

Log4j的使用•小实验

这里的原因是,你没有log4j配置文件。OK,接下来把log4j的配置文件加进去;

文件的位置和内容如下图:

Log4j的使用•小实验

1. <?xml version="1.0" encoding="UTF-8"?>  

2. <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">  

3. <!-- #log4j.xml优先于log4j.properties,like the order in xp -->  

4.   

5. <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">  

6.       

7.     <!-- 控制台输出 -->  

8.     <appender name="log.console" class="org.apache.log4j.ConsoleAppender">  

9.         <layout class="org.apache.log4j.PatternLayout">  

10.            <param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %5p (%C{1}:%M) - %m%n" />  

11.        </layout>  

12.    </appender>  

13.      

14.    <!-- 日志控制器 -->  

15.    <logger name="experiment" additivity="false">  

16.        <level value="INFO" />  

17.        <appender-ref ref="log.console" />  

18.    </logger>  

19.  

20.</log4j:configuration>  

至于上面添加的log4j.xml里面的东西是什么意思,我简单的说一下:

Log4j的使用•小实验

上图应该就能表明了,就是在日志控制器 logger里说:我要用"log.console"里定义的东西去搞"experiment"里的东西;

至于控制台输出里的class="org.apache.log4j.ConsoleAppender"class="org.apache.log4j.PatternLayout"是在说,怎么实现配置的功能要用的类(就是之前导入的jar包里的东西)。

配置这个东西,当然远远没有这么简单,但是那些其他的东西你可以去网络上搜一下,这里只给了一个和很基础的内容展示。

4.  执行结果

以上该加的配置,该写的代码搞定了,执行结果如下:

Log4j的使用•小实验

上图你会发现,“1”没有打印出来,那是因为我在log4j.xml里,配置了

Log4j的使用•小实验

表示打印级别为INFO已经INFO之上的日志;而在日志的打印里,日志的级别排序为:

FATAL>ERROR>WARN>INFO>DEBUG

Java项目怎么导入依赖的jar包

1.右键新建的项目,之后如下操作:

Log4j的使用•小实验

Log4j的使用•小实验

2.选中本地下载好的jar包导入:

Jar包的话你们去百度一下“log4j-1.2.14.jar”直接下载就行;

Log4j的使用•小实验