java slf4j的用法

实际上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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值