Log4j的使用•小实验

Log4j的使用·小实验

写在前面:

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

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

Log4j小实验

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

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

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

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

Log4j的使用•小实验_第1张图片

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.0modelVersion>  

4.     <groupId>GavingroupId>  

5.     <artifactId>experimentartifactId>  

6.     <version>0.0.1-SNAPSHOTversion>  

7.   

8.     <dependencies>  

9.           

10.        <dependency>  

11.            <groupId>log4jgroupId>  

12.            <artifactId>log4jartifactId>  

13.            <version>1.2.14version>  

14.        dependency>  

15.  

16.    dependencies>  

17.project>  

2.  新建一个类来使用log4j

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

Log4j的使用•小实验_第2张图片

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的使用•小实验_第3张图片

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

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

Log4j的使用•小实验_第4张图片

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

2. >  

3.   

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的使用•小实验_第5张图片

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

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

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

4.  执行结果

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

Log4j的使用•小实验_第6张图片

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


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

FATAL>ERROR>WARN>INFO>DEBUG

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

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

Log4j的使用•小实验_第7张图片

Log4j的使用•小实验_第8张图片

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

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

Log4j的使用•小实验_第9张图片


你可能感兴趣的:(小实验,log4j,log4j.xml,maven)