在网上下载的源码很多使用的都是slf4j,运行时经常没有日志信息。
下面是slf4j的说明:
SLF4J是为各种loging APIs提供一个简单统一的接口,从而使得最终用户能够在部署的时候配置自己希望的loging APIs实现。 Logging API实现既可以选择直接实现SLF4J接的loging APIs如: NLOG4J、SimpleLogger。也可以通过SLF4J提供的API实现来开发相应的适配器如Log4jLoggerAdapter、JDK14LoggerAdapter。
我们常用log4j作为日志输出,下面是配置信息(基于maven):
在maven的pom.xml中,添加如下引用:
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.21</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.6</version> </dependency>
即可使用log4j作为日志的输出,如果是web项目,指定log4j相关配置信息,需要在web.xml中添加相应代码:
<!-- Log4j配置 --> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:/log4j/log4j.xml</param-value> </context-param> <!-- 加载log4j配置文件 --> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>
如果是单元测试时,可以在test类中使用静态块,加载log4j相关配置:
static { try { Log4jConfigurer.initLogging("classpath:config/log4j.properties"); } catch (FileNotFoundException ex) { System.err.println("Cannot Initialize log4j"); } }