@xtccc
2015-12-24T11:18:37.000000Z
字数 1222
阅读 3217
Java
参考 :
从这里下载slf4j的压缩包,然后解压。
将解压出的slf4j-api-1.7.12.jar放入编译路径中,然后编写下列的代码。
package cn.gridx;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class App
{
public static void main( String[] args ) {
System.out.println( "Hello World!" );
Logger logger = LoggerFactory.getLogger(App.class);
logger.info("Hi");
System.out.println("Bye");
}
}
编译好,将slf4j-api-1.7.12.jar放入到classpath后,运行该文件,输出如下:
$ java -cp java.example-1.0-SNAPSHOT.jar:/Users/tao/Downloads/slf4j-1.7.12/slf4j-api-1.7.12.jar cn.gridx.App
Hello World!
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Bye
出现警告是因为:在Classpath中没有具体的logger实现类(例如log4j)。
现在,我们把slf4j-simple-1.7.12.jar放入到Classpath中,再次运行:
$ java -cp java.example-1.0-SNAPSHOT.jar:/Users/tao/Downloads/slf4j-1.7.12/slf4j-simple-1.7.12.jar:/Users/tao/Downloads/slf4j-1.7.12/slf4j-api-1.7.12.jar cn.gridx.App
Hello World!
[main] INFO cn.gridx.App - Hi
Bye
OK,现在日志正常打印出来了。
SLF4J可以接受多种bindings,例如slf4j-simple-1.7.12.jar是一个很简单的logger实现,它将所有的日志打印到System.err。除了slf4j-simple-1.7.12.jar之外,还可以提供slf4j-log4j12-1.7.12.jar。
很简单,在Classpath中,直接将用新的binding替换旧的binding即可。