您的位置:首页 > 其它

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表示版本号
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: