首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

日记系统2

2012-06-26 
日志系统2目前流行的日志门面接口有common-logging、slf4j,以前一直都在使用前者,后来许多文章都在介绍slf4

日志系统2

目前流行的日志门面接口有common-logging、slf4j,以前一直都在使用前者,后来许多文章都在介绍slf4j,很多地方都在介绍slf4j的优点(最主要的比common-logging优越的地方是能在OSGi环境下使用,但是至于为什么common-logging不能使用还是不太清楚),因此决定开始尝试slf4j,对于jar包引入方面,感觉稍微没有common-logging方便,common-logging会自动从众多日志实现的jar包中自动选择,而slf4j需要放入“合适”的jar包才能使用,当然这根它的实现机制有关系,slf4j的实现机制要求她必须这么做。

?

对于日志门面接口的介绍网上有很多文章介绍,不多说废话了,直接记录点实惠的东西,供查用。

?

slf4j这是门面接口,没有实现,如同common-logging一样,需要搭配具体的实现才能使用;

貌似logback是slf4j的亲密搭配,从引入jar包的名称也能看出来;

?

下面介绍两种搭配方式:

?

1. slf4j+logback

?

引入包:slf4j-api.jar、logback-classic、logback-core.jar (注意这三个版本必须一致)

?

logback最简单的配置示例(不是必须的)logback.xml:

<configuration debug="true"><appender name="STDOUT" /></root><!-- 下面配置一些具体包的日志过滤级别 --><logger name="org.apache.activemq" level="WARN"/></configuration>

?

2.slf4j+log4j

?

引入包:slf4j-api.jar、slf4j-log4j.jar、log4j.jar(注意三个版本必须一致)

?

log4j配置示例,log4j.properties:

#设置级别和目的地log4j.rootLogger=debug,appender1#输出到控制台log4j.appender.appender1=org.apache.log4j.ConsoleAppender#设置输出样式log4j.appender.appender1.layout=org.apache.log4j.PatternLayout#自定义样式# %r 时间 0# %t 方法名 main# %p 优先级 DEBUG/INFO/ERROR# %c 所属类的全名(包括包名)# %l 发生的位置,在某个类的某行# %m 输出代码中指定的讯息,如log(message)中的message# %n 输出一个换行符号log4j.appender.appender1.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M] %m%n#输出到文件(这里默认为追加方式)log4j.appender.appender2=org.apache.log4j.FileAppender#设置文件输出路径#【1】文本文件log4j.appender.appender2.File=c:/log1.log#设置文件输出样式log4j.appender.appender2.layout=org.apache.log4j.PatternLayoutlog4j.appender.appender2.layout.ConversionPattern=[%d{HH:mm:ss:SSS}][%C-%M] -%m%n
?

无论哪种搭配方式,程序中使用的方法如下:

?

程序中先定义logger

private static Logger logger = LoggerFactory.getLogger(YourClass.class);//slf4j logging
?

程序中日志输出方法:

logger.debug("hello");logger.info("hello{}",p);//p是变量
?

?

?

?

热点排行