java slf4j的用法

来源:互联网 发布:当当网的价值网络 编辑:程序博客网 时间:2024/05/22 12:04

实际上slf4j只是日志的抽象接口,底层仍然需要与具体的日志相结合。这里选择log4j
1.新建一个java工程。pom.xml中要加入如下内容
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.0</version>
</dependency>
</dependencies>
2.package com.luoyan.syntax中加入App.java
package com.luoyan.syntax;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Hello world!
*
*/
public class App
{
private Logger logger = LoggerFactory.getLogger(App.class);
public void testLog(){
logger.info(“this is a test log”);
}
public static void main( String[] args )
{
System.out.println( “Hello World!” );
App a = new App();
a.testLog();
}
}

编译后执行
java -cp target/syntax-1.0-SNAPSHOT-jar-with-dependencies.jar com.luoyan.syntax.App
提示:报错
log4j:WARN No appenders could be found for logger (com.luoyan.syntax.App).
log4j:WARN Please initialize the log4j system properly.

3.说明缺乏日志的配置
在当前目录下加上
log4j.properties
内容是
# Configure logging for testing: optionally with log file
log4j.rootLogger=DEBUG, stdout
# log4j.rootLogger=WARN, stdout, logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] – %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=./App.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] – %m%n

仍然报一样的错。
4.要把log4j.properties加到cp路径中
java -cp target/syntax-1.0-SNAPSHOT-jar-with-dependencies.jar com.luoyan.syntax.App
就能正常显示了
Hello World!
2014-05-26 14:50:02,126 INFO [com.luoyan.syntax.App] – this is a test log

0 0