`
zerxd
  • 浏览: 73688 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

日志框架的介绍(网摘)

阅读更多
1 概述 在日志框架出现之前,开发人员主要是通过自己实现的日志组件来实现日志的记录。这些日志组件都有着共同的问题:
   ■ 功能太弱,只能输出到控制台或指定的文件
   ■ 大量的日志代码混在业务逻辑中,代码可读性差,在正式环境中的日志打印无法控制导  
      致系统性能下降
   ■ 日志格式难以统一维护 日志框架的出现解决了上述的问题,降低了日志代码的耦合
      性,通过配置提高日志记录的灵活性。

   日志框架的基本概念为以下几点:
   ■ 输出级别:是调试信息,信息,还是警告,错误,致命错误等
   ■ 输出目的地:输出到控制台,文件,可写设备,还是数据库
   ■ 输出格式和内容:输出哪些东西,如何排版等。

   Java领域里存在大量的日志框架和组件,www.open-open.com收录了二十多个基于java技术的日志框架。 这些日志框架从功能上可分为三类。
   一是日志工具类,它实现了日志的记录,格式和级别的划分,代表为Logback Simplelog。
   二是日志系统,提供了完整的框架功能并实现了日志记录。代表为JDK Logger、log4j和commons-logging。
   三是抽象整合类,它提供了一组接口,完成日志功能,通过包装其他日志工具或系统来工作commons-logging、Slf4j。
    从历史上看,Log4j出现最早,它实现了日志的记录,格式和级别的划分,以及配置简单的特点把Java的日志框架推到了一个新的高度,使得开发人员彻底抛弃System.out.println。
    自JDK1.4开始,JDK提供了java.util.logging类库,提供了一个完整的日志框架,在设计上要比Log4j要更清晰。
    此外同期还出现了一些其他的日志框架,功能大同小异,在重复发明轮子的同时还造就了日志框架的概念模糊和使用混乱。在这样的背景下,一个基于Apache的commons-logging日志框架产生了。commons-logging不提倡重复发明轮子,它本身不提供任何日志方面的功能,只是对现有的主流日志框架(Log4j、JDK Logger、Simplelog等)进行包装,提供日志统一的接口。这样,开发的时候,只需要使用commons-logging,通过配置,灵活选择底层实现。 
    Log4j经过多年的发展和应用,不断完善和加强,增加了热部署、异步批量把日志写入数据库等功能。在Log4j看起来越来越强大时,内部却充满了代码的坏味道。就连它的作者也认为应该有一个更好的日志框架。于是再次操刀创建了slf4j来取代commons-logging,创建了Logback来取代Log4j。目前,Log4j和JDK Logger应用最为广泛,slf4j作为新兴的抽象层,整合Logback,以其简洁,快速,正被越来越多的顶级项目使用。如Hibernate,Jetty。

2 代表日志组件简要介绍
    Log4j:历史悠久,应用广泛,被移植到多种语言及平台,功能强大,在众多的日志框架中,仍占据着主导地位。
    JDK Logger:JDK提供的日志框架,设计精良,和JDK紧密结合,控制灵活,使用简单。 commons-logging:提供了日志的抽象层,可以整合多种实现,但有classloader问题。
    Slf4j:提供了jcl的超集,避免了classloader问题,逐步取代commons-logging 
    Logback:可靠,通用,快速,灵活的java日志工具,逐步取代Log4j。

3 项目选择思考
    ■ 单一的项目,如桌面应用,采用JDK Logger,免配置,控制灵活。
    ■ Web开发,采用log4j,因为系统已经有了很多的配置文件,不在乎多一个,而且log4j可以脱离任何组件,不像jul,和jvm紧密结合在一起。
    ■ 新项目、多项目整合开发,采用slf4j,一是它可以整合其他遗留日志组件,二是其提供的抽象层,为将来的开发提供了灵活性。而且slf4j文档和支持都很完善,性能更好。

4 参考资料
    ■ IBM developerworks对log4j的介绍。   http://www.ibm.com/developerworks/cn/java/l-log4j/index.html
    ■ Java开源日志组件列表。http://www.open-open.com/open50229.htm
    ■ Slf4j官方网站。http://www.slf4j.org/ ■ Logback官方网站。http://logback.qos.ch/ ■ Log4j官方网站。http://logging.apache.org/
    ■ commons-logging官方网站。http://commons.apache.org/logging/
分享到:
评论

相关推荐

    网摘精灵软件包1.5

    下面介绍一个宣传方法,宣传效果好不好,自己试过就知道。因为任何方法都有其局限性。因人因站因环境的不同而效果差别相当大,不能一概而论。 网摘精灵是一款网站推广网站,这个软件利用网摘网站点多面广的优势,把...

    网摘集合网摘集合网摘集合网摘集合

    网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合网摘集合...

    天空网摘 v120606

    另外,如果需要针对搜索引擎进行优化,请把Url.asp文件里的iframe框架去掉改为链接模式,也还可以增加相关盈利的广告代码。 “天空网摘”程序分为免费共享版和80元付费后台功能完整版(包含数据更新服务),前者...

    PHP免费网摘程序

    2、修改数据库配置文件,conn.php.修改网摘配置文件 include/setup.php。 3、后台路径admin/default.php 默认帐号密码 是 admin admin . 4、生成所有网摘静态页面程序为data.php。生成所有新网摘的程序为 datanew....

    百亿网摘完整无错版

    百亿网摘整站 后台功能 --------------------- 基本信息 管理站点的基本信息 栏目管理 栏目分类 网摘管理 已推荐网摘 推荐网摘 首页生成 重新生成页面 审核网摘 管理网摘 模版管理 模版管理 用户管理 管理员修改 ...

    php网摘程序

    在互联网信息爆炸的时代,网摘程序为用户提供了方便的工具,帮助他们保存感兴趣的内容,便于日后查阅和分享。这种程序通常包含用户登录系统、内容收藏功能、分类管理以及搜索功能等,旨在提升用户的网络浏览体验。 ...

    天空网摘 v20110624.rar

    另外,如果需要针对搜索引擎进行优化,请把Url.asp文件里的iframe框架去掉改为链接模式,也还可以增加相关盈利的广告代码。 “天空网摘”程序分为免费共享版和80元付费后台功能完整版(包含数据更新服务),前者...

    加入网摘插件 v1.0 通用版

    【加入网摘插件 v1.0 通用版】是一个旨在帮助网站所有者提升其在线可见性和用户参与度的工具。这款插件的核心功能是使用户能够方便地将网站内容添加到他们的网络收藏夹或网摘站点,从而促进网站的宣传和推广。尤其...

    PHP免费网摘程序(源代码)

    2、修改数据库配置文件,conn.php.修改网摘配置文件 include/setup.php。 3、后台路径admin/default.php 默认帐号密码 是 admin admin . 4、生成所有网摘静态页面程序为data.php。生成所有新网摘的程序为 datanew....

    天空网摘 V120606.rar

    目标 利用网摘建站,打造最便捷的资讯服务!最适合于做小型SEO网站。 适用范围 新闻娱乐、专业学术、地方门户、行业资讯等相关网站建设。 参考范例:电子书藏家 初始化 注册用户:天空 密码:admin 登录:Login....

    连连看算法相关介绍网摘

    连连看是一款广受欢迎的休闲游戏,其核心玩法是通过消除两个相同图案的匹配来清除棋盘。在设计连连看游戏时,算法起着至关重要的作用,尤其是路径算法和最短路径算法。以下是对这两个概念的详细说明: ...

    咖啡屋网摘联盟程序 v6.0 终极无错误版

    《咖啡屋网摘联盟程序 v6.0 终极无错误版》正是在这样的背景下应运而生,它不仅为用户提供了一个便捷的网摘分享平台,更是将社交化功能融入到知识管理之中,让用户在收集和整理网页资源的同时,也能享受到交流互动的...

    博客、相册、文件、网摘、迷你博客、论坛、活动、圈子

    结合博客、相册、文件、网摘、迷你博客、论坛、活动、圈子、资讯等应用模块,可以快速的搭建具有SNS特征的在线社区。借助SpaceBuilder平台的服务(用户、朋友、私信、邀请、权限、审核、隐私、积分、通知、动态、...

    厦门人家网摘天下生成HTML加强安全版 -ASP源码.zip

    6. **日志记录**:为了便于调试和监控,源码可能集成了日志记录功能,记录运行时的错误信息和操作日志。 在使用此源码前,开发者需要了解ASP的基本语法和常用组件,如Request、Response、Server等对象,以及如何...

    麦布网摘 v1.1

    麦布网摘是专门为个人站长制作的一个网摘程序,前台主要是分类显示功能,后台有手工添加、修改、删除以及分类的管理,功能比较简单,非常适合二次开发,本系统秉承麦布程序的一贯风格,特点速度快、占用服务器资源小...

    CSDN网摘右链添加

    标题"CSDN网摘右链添加"涉及到的是在Windows操作系统中通过修改注册表来增加或删除CSDN网摘的快捷方式。CSDN(China Software Developer Network)是中国的一个知名IT技术社区,提供了丰富的编程资源、论坛讨论以及...

    PW广告添加方式网摘插件

    "PW广告添加方式网摘插件"是一款专为网站管理者设计的工具,旨在方便地在网页上添加广告,尤其适用于那些希望通过广告展示来增加收入或推广产品的网站。这款插件的特点在于其简单易用的安装过程和灵活的广告投放位置...

    23个收藏到网摘的16x16图标及代码.rar

    标题中的“23个收藏到网摘的16x16图标及代码.rar”表明这是一个包含23个图标以及对应代码的压缩文件,这些图标尺寸为16像素乘以16像素,通常用于网页设计或者软件开发中。网摘,也被称为书签服务或社交书签,是用户...

Global site tag (gtag.js) - Google Analytics