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级别的控制信息,所以最后控制台报出以下消息: