Java log4j的环境搭建

一、Log4j是什么?

Log4j是Apache的一个开源代码项目,通过使用Log4j,我们可以控制日志信息输出的目的地。最常见的就是输出到控制台或者日志文件。同时,它强大的一点是可以在C、C++等其他程序中使用,只要有相关的接口包即可。

二、如何在Java环境下配置Log4j?

网上的好多做法要么照本宣科,解释的太繁琐,要么太简略,让人不得要领,其实步骤非常简单。

Log4j支持两种配置文件格式:XML、Log4j.properties.

我习惯选择后者。

一般只要将该文件放在项目的根目录下即可。

在项目中使用log,只需要导入一个叫log4j-XXXX(版本号).jar的包即可。

具体导入方法:选中项目,右键-属性-build path-libraries-add external jars,然后选择包即可。

下载此包,可以到此网址上下载http://logging.apache.org/log4j/2.x/download.html,也可以在本文附件中下载。

至此,可以说,环境已经配置好了,如图:

三、怎么使用log4j?

在使用的类文件中导入下图用红线标出来的包。

然后通过一条指令,获得该logger对象:

Private static Logger logger = Logger.getLogger(类名.class));

然后你就可以在需要log的地方,打印输出就行了,比如:

Logger.info(XXXXXXX);

Logger.debug(XXXXXXX);

接下来的问题就是怎么能使信息输出到不同的地方呢?

这就是前面的Log4j.properties的作用了。

Log4j有三个组件:Loggers—记录器,Appenders---输出源,Layouts---布局

通俗点讲就是日志是什么类别的,日志要输出到哪里,日志是什么样的形式。

Log4j.rootLogger = [level], appenderName,appenderName,…….

Level  为记录的优先级:OFF, FATAL, ERROR, WARN,INFO,DEBUG,ALL或者自定义。

Log4j建议只使用四个级别,从高到低分别为:ERROR, WARN, INFO, DEBUG.

比如定义了INFO级别,只有高于或者等于这个级别的才进行处理,而DEBUG级别的信息将不被打印出来。OFF,关闭所有的日志输出。

appenderName 是指定日志输出到那个地方。

Log4j提供的appender有以下几种:

org.apache.log4j.ConsoleAppender ---控制台

org.apache.log4j.FileAppender---文件

org.apache.log4j.DailyRollingFileAppender----每天产生一个日志文件

还有一些其他的方式,常用的大概就是以上三种。

例如:

Log4j.appender.stdout= org.apache.log4j.ConsoleAppender

就是将信息输出到控制台。

这里给出我的一个示例配置文件:

 

 

容易分析:

我要将DEBUG级别以下的信息打印出来,不过就属他级别最低。

A1负责指定到控制台,D负责指定到F://logs/log.log这个文件中。
后面的那个Append=true代表追加,如果是false的话,再次运行程序的调试信息会将其覆盖。

结果如图:

原文地址:https://www.cnblogs.com/xuehanlee/p/4544819.html