日志记录方法---SLF4J和Log4j

来源:互联网 发布:玲珑加速器 知乎 编辑:程序博客网 时间:2024/06/05 14:51

        SLF4J(Simple Logging Facade For Java),没有实现具体的日志解决方法,只是一个抽象块层,使代码可以独立于任意特定的日志API。

        Log4j(Log For Java),是Apache一个开源项目,可以灵活记录日志信息,通过Log4j的配置文件更改日志记录格式、级别等信息。

        不论是在写程序还是线上的系统,及时打印出代码运行阶段的日志,可以帮助我们迅速判断出系统和故障、定位到Bug的位置,因此学会操作日志是十分必要的。这里借助上一篇的爬虫程序,介绍一种日志的使用方式:

        具体功能就是将京东数据爬取下来插入数据库中,如果插入数据库失败则输出“Insert fail”信息,最后程序跑完则打印“Successful!”,出现异常终止则打印“Fail!”提示信息。

第一步:在pom.xml文件中引入配置


这里注意,因为这里结合SLF4J和Log4j使用的,因此在引入依赖时,引入的是

<dependency>            <groupId>org.slf4j</groupId>            <artifactId>slf4j-log4j12</artifactId>            <version>1.7.22</version></dependency>

如果单独使用SLF4J或Log4j则引入

<dependency>            <groupId>org.slf4j</groupId>            <artifactId>slf4j-api</artifactId>            <version>1.7.22</version> </dependency>
 <dependency>            <groupId>log4j</groupId>            <artifactId>log4j</artifactId>            <version>1.2.17</version> </dependency>

然后在工程中直接使用:


如果直接这样运行程序,会报以下错误:

log4j:WARN No appenders could be found for logger (org.apache.http.client.protocol.RequestAddCookies).log4j:WARN Please initialize the log4j system properly.log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

查找资料,发现是少了配置文件,新建log4j.properties,并配置以下内容,运行即可。关于配置文件的内容,具体字段及含义均写在下面的代码中:


由于这里使用的是info级别的控制信息,所以最后控制台报出以下消息: