`
welkinwwl
  • 浏览: 12610 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
最近访客 更多访客>>
社区版块
存档分类
最新评论

Apache通用日志包使用简介

    博客分类:
  • J2EE
阅读更多
日志记录为我们的项目维护提供了极具价值的参考消息,灾难性的恢复或系统改良都离不开这些信息,日志机制是日常项目开发中必不可少的一道作业工序。
 
一、Apache通用日志包简介
       Apache的通用日志包commons-logging是jakarta common(jakarta commons项目是作为JDK的补充拓展及优化的一系列方案)的日志解决方案,它提供了一组通用的第三方日志组件的接口,用户可以根据需要自由选择,同时它还把日志管理机制与我们的应用程序进行了隔离,避免应用程序的api与日志耦合在一起。
      
Apache通用日志包commons-logging.jar下载地址:
 
       Apache的通用日志包由于其灵活性与非侵略性的优点,已被各种framework推荐采纳使用,像struts、hibernate、spring,在tomcat安装目录的bin目录下也包含了commons-logging.jar,如今的MyEclipse6.0创建一个web project会自动将commons-logging.jar引入web/lib下,所以你几乎无需去下载和引入这个包便可使用,它已经被广泛的使用和采纳。
 
Commons日志包支持以下第三方的日志组件:
·log4j
·JDK14Logging
·LogKit
·SimpleLog
·NoOpLog
二、Apache通用日志管理机制
 
Apache通用日志等级:
Commons日志包将日志消息分为6个级别:
 
 
 
       这6个级别由上至下,由高至低。当我们在配置文件中指明日志消息的一个输出级别时(关于Commons日志包的配置方法将在后面说明),只有比这个级别高级的信息才会输出。例如:我们将日志输出级别设置为INFO,那么位于DEBUG以下级别的信息将不会输出。
 
Apache通用日志API:
commons-logging包下包含org.apache.commons.logging包和org.apache.commons.logging,impl包
 
org.apache.commons.logging包:
       Log类:Log是常用的接口,声明了日志对象的使用方法;
       LogConfigurationException类:继承于RuntimeException,定义了日志的异常信息;
       LogFactory类:Log的工厂, 静态工厂方法getLog(Class clazz)和getLog(String name)返回一个Log实例,getLog(Class clazz) 和getLog(String name)具体定义如下:
             
java 代码
  1. publicstatic Log getLog(Class clazz) throws LogConfigurationException {   
  2.          return (getFactory().getInstance(clazz));   
  3.     }   
  4.         publicstatic Log getLog(String name) throws LogConfigurationException {   
  5.         return (getFactory().getInstance(name));   
  6.     }  
 
              我们可以看出来getLog方法返回的Log实例是通过调用getFactory()返回一个 LogFactory实例再调用getInstance()方法得到的,getInstance()是一个抽象方法,getFactory方法中(由于篇幅有限,不再将getFactory源码贴出,有兴趣可以自       己看下源码)会加载commons-logging.properties属性文件(    FACTORY_PROPERTIES字段表示,关于属性配置文件稍后说明) org.apache.commons.logging.Log接口按照具体指明的类去实现,然后调   用由已 实现的getInstance方法来得到Log实例。
       LogSource类:这个类作为向上兼容,已由LogFactory取代。
org.apache.commons.logging.impl包:
       这个包包含了一些已实现了Log接口的类,不再赘述。
 
三、Apache通用日志的配置
       Commons日志配置非常简单,您只需在工程src目录下建立一个commons-logging.properties属性文件,指明org.apache.commons.logging.Log接口将由哪个第三方的日志组件来实现即可。
例如:commons-logging.properties中写入如下配置
  1. org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger   
     
即使用log4j来管理日志,这个Log4JLogger类只实现了一些简单的日志输出,如果要使用将日志信息输出到指定文件或其他功能需要引入log4j的类库,我会在日后写一篇关于log4j的具体使用方法与相关配置说明。
  • 大小: 99.1 KB
  • 大小: 20.2 KB
分享到:
评论

相关推荐

    Apache通用日志包.pdf

    Apache通用日志包.pdf 常用的日志实现方法 Apache 通用日志包的配置方法 配置Log4J

    apache通用日志包说明

    NULL 博文链接:https://lkjust08.iteye.com/blog/262462

    go-apachelog:使用 apache 通用日志格式的 go 服务器记录器

    不推荐使用 go-apachelog。 请参阅 github.com/cespare/hutil/apachelog 去 apachelog 这是一个以 Apache 通用日志格式编写服务器日志的小型库。 有关使用说明,请参阅。 代码主要基于logging.go。

    logging和lo4j的jar大全

    Apache针对不同的语言平台为做了一系列日志工具包,可应用于java、.net、php、c++,这些日志包都是免费的,使用非常方便,可以极大提高...现在,Apache通用日志工具commons-logging和Log4j已经成为Java日志的标准工具。

    apache的介绍,安装,使用

    Apache 的特性: 1) 几乎可以运行在所有的计算机平台上. 2) 支持最新的HTTP/1.1协议 3) 简单而且强有力的基于文件的配置(HTTPD.CONF). 4) 支持通用网关接口(CGI) 5) 支持虚拟主机. 6) 支持HTTP认证. 7) 集成...

    ApacheLogProcessor:R包,用于处理Apache Web服务器日志组合文件

    R包,用于处理Apache Web服务器访问日志文件 提供处理Apache HTTPD日志文件的功能。 主要功能是将访问和错误日​​志文件中的数据提取到数据帧中。 可用功能: 以通用或组合格式将Apache HTTPD访问日志读取到数据...

    Apache 服务器配置和管理

    作为一个 Web 站点,必须考虑它的安全性,本书详细介绍如何对 Apache 实现安全机制,例如使用基本认证、服务器状态和日志、安全 Socket 层等等。为了让读者能够更好地了解 Apache 的工作情况,我们还特别介绍了 ...

    Apache服务启动

    3.支持通用网关接口 4.支持基于IP和基于域名的虚拟主机 5.支持多种方式的HTTP认证 6.集成Perl处理模块 7.集成代理服务器模块 8.支持实时监视服务器状态和定制服务器日志 9.支持服务器端包含指令(SSI) 10.支持安全...

    Apache安装.zip

    Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件。 功能介绍: 1.支持最新的HTTP/1.1通信协议 2.拥有简单而...

    matomo-log-analytics:在Matomo中导入任何类型的服务器日志,以进行强大的日志分析。 通用日志文件解析和报告

    所有常用的日志格式,例如:NCSA通用日志格式,扩展日志格式,W3C扩展日志文件,Nginx JSON,OVH 一些流行的云服务的日志文件:Amazon AWS CloudFront日志,AWS S3日志,AWS ELB日志。 流媒体服务器日志文件,例如...

    apache-log2:Nodejs 的 ApacheCLF 访问日志记录

    支持通用和组合日志格式。 在 GNU v3 下获得许可。 特征: 自动内容长度计算 调用 response.end 时激活 不需要中间件,例如 express 或 connect 默认为 Apache2 日志格式默认值 不需要调用 writeHead 以符合 CLF...

    dynatrace-log4j2-appender:Dynatrace通用日志提取Log4j2 Appender

    Dynatrace通用日志提取Log4j2 Appender Log4j2 Appender将Java应用程序与Dynatrace通用日志提取功能集成在一起。 为了使其正常工作,您必须提供两个参数: activeGateUrl启用了通用日志提取模块的ActiveGate实例的...

    node-alpine:Alpine-Node.js的Apache日志解析器

    它支持三种最常见的日志格式(“通用日志格式”,“带有虚拟主机字段的通用日志格式”和“组合日志格式”),还允许您通过向其传递用于生成日志文件的LogFormat字符串来指定自定义日志格式。要解析。预定义的日志...

    处理Apache日志的Bash脚本

    去年一年,我写了将近100篇网络日志。...下面就是我的日志分析脚本,虽然它还不是通用的,但是我相信里面用到的命令,足以满足一般的日志分析需求,同时也是很好的学习Bash的实例。如果下面的每一个命令你都

    Apache Log SQL-开源

    该perl脚本(apache_log_sql.pl)用于将Apache通用日志格式的日志文件移动到Oracle数据库中。

    深入理解 Apache Spark Delta Lake 的事务日志

    Spark+AI Summit 2019 会议上开源的项目,详见【重磅 | Apache Spark 社区期待的 Delta Lake 开源了】,当时文章只是简单介绍了下功能,本文将深入介绍 Apache Spark Delta Lake 的事务日志,通过本文我们可以了解 ...

    Apache-Web-Log-Analysis-Spark

    数据文件:Apache通用日志格式(CLF) CLF中生成的日志文件条目将如下所示: 127.0.0.1 - - [01/Aug/1995:00:00:01 -0400] "GET /images/launch-logo.gif HTTP/1.0" 200 1839 详细信息-> 为什么选择星火 服务器...

    holodeck:播放通用日志格式的日志文件,以相同的时间执行相同的GET和HEAD请求

    使用在现有的通用日志格式(CLF)日志文件(例如Apache或Nginx日志文件)中找到的相同请求轰炸Web服务器。 请求以相同的顺序,相同的时间交付。 可以将其视为网站的整体模拟。 理想情况下,他们不能说出区别。 安装...

    比较全面的:Jakarta-commons jar包(附: chm参考手册 & 资源简介)

    资源简介 Jakarta commons docs API CHM 格式带索引和全文搜索,方便携带和查询。 Jakarta commons 包含很多可复用的通用...jakarta-regexp 是一个100%纯java正则式处理包,是Jonathan Locke捐给Apache软件基金会的

    driftwood:一些潮汐日志

    浮木一些日志安装$ cargo add driftwood用法此板条箱当前提供三个记录器:Apache通用日志格式 let mut app = tide :: new ();app. with (driftwood :: ApacheCommonLogger); 范例: 127.0.0.1 - frank [10/Oct/2000:...

Global site tag (gtag.js) - Google Analytics