log4j初始化和slf4j
2015-07-23 10:56
204 查看
1Log4j是什么
Log4j是Apache比较优秀的开源项目。在各个平台和项目中有较为广泛的应用,是为JAVA平台开发的日志管理平台。同时,Log4j也是JAVA开发项目中使用比较普遍的日志管理框架,经过综合评估,无论稳定性,还是功能性,都能符合本次项目开发的需求,因此,本次项目决定采用Log4j作为项目的日志开发框架。
Log4j由Apache开源项目维护。官方链接:http://logging.apache.org。
2Log4j的组成包括:
由项目的JAR包和配置文件组成。log4j-1.2.15.jar(项目JAR包)。这个是本项目使用的版本,具体项目可以根据需要在上面的官方链接下载最新版本。
Log4j的配置文件:包括文本格式键值对组合的log4j.properties或XML格式的log4j.xml。
要让配置文件生效,需要在应用程序启动时加载配置文件到JVM中。配置文件的加载方法有3种:自动加载、手动加载和默认配置加载。下面分别介绍和讨论。1)自动加载方式:只要把配置文件放在CLASSPATH环境变量所指定的目录,JAVA启动时会制动加载。
2)手动加载方式:如果不是包含在CLASSPATH中默认加载,而是在自定义的项目配置文件目录下,如config,手工加载,那么,这两种文件在加载上有区别。
键值对格式,需要使用PropertyConfigurator.config(filepath)加载。
XML格式,需要使用DOMConfigurator.config(filepath)加载。
在Eclipse RCP程序中,加载XML的示例如下:
URLurl=
Platform.getBundle("PluginName").getEntry("config/log4j.xml");
Stringpath= FileLocator.resolve(url).getPath();
DOMConfigurator.configure(path);
3)除了以上的二种加载方法之外,还有一种加载方式是不用配置文件的,代码如下:
BasicConfigurator.configure();
通过以上的方法调用,可以自动快速地使用缺省Log4j环境
SLF4J
SLF4J不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用
其所希望的日志系统。
实际上,SLF4J所提供的核心API是一些接口以及一个LoggerFactory的工厂类。从某种程度上,SLF4J有点类似JDBC,不过比JDBC更简单,在JDBC中,你需要指
定驱动程序,而在使用SLF4J的时候,不需要在代码中或配置文件中指定你打算使用那个具体的日志系统。如同使用JDBC基本不用考虑具体数据库一样,SLF4J提供了
统一的记录日志的接口,只要按照其提供的方法记录即可,最终日志的格式、记录级别、输出方式等通过具体日志系统的配置来实现,因此可以在应用中 灵活切换日志系统。
假设使用log4j做为底层日志工具,运行以上程序需要三个包:log4j-1.2.xx.jar、slf4j-api-x.x.x.jar、以及slf4j-log4j12-x.x.x.jar,后两个包由slf4j提供,包名中的x表示版本号
相关文章推荐
- 十大游戏开发引擎
- Gerald is into Art(CF)
- 配置JAVA的环境变量
- 浏览器快捷键劫持
- C/C++中的经典排序算法总结
- 对TCP/IP网络协议的深入浅出归纳(转载)
- SQLite数据库及其使用实例
- 快速矩阵幂 csu1597 薛XX后代的IQ
- 关于refs/for/
- GCD的方方面面
- C/C++中的经典排序算法总结
- hdu4599Dice 概率dp+扩展欧几里得
- Spring的事务传播属性,数据库的隔离级别
- Html5 拖放上传图片
- [计算机、网络相关历史]unix简史
- js带箭头左右翻动控制
- C# 6.0 编译器
- 7.23css样式
- openCV 用鼠标在窗口中画方形
- android知识图谱