日志记录为我们的项目维护提供了极具价值的参考消息,灾难性的恢复或系统改良都离不开这些信息,日志机制是日常项目开发中必不可少的一道作业工序。
一、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 代码
- publicstatic Log getLog(Class clazz) throws LogConfigurationException {
- return (getFactory().getInstance(clazz));
- }
- publicstatic Log getLog(String name) throws LogConfigurationException {
- return (getFactory().getInstance(name));
- }
我们可以看出来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中写入如下配置
- org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
即使用log4j来管理日志,这个Log4JLogger类只实现了一些简单的日志输出,如果要使用将日志信息输出到指定文件或其他功能需要引入log4j的类库,我会在日后写一篇关于log4j的具体使用方法与相关配置说明。
- 大小: 99.1 KB
- 大小: 20.2 KB
分享到:
相关推荐
Apache通用日志包.pdf 常用的日志实现方法 Apache 通用日志包的配置方法 配置Log4J
NULL 博文链接:https://lkjust08.iteye.com/blog/262462
不推荐使用 go-apachelog。 请参阅 github.com/cespare/hutil/apachelog 去 apachelog 这是一个以 Apache 通用日志格式编写服务器日志的小型库。 有关使用说明,请参阅。 代码主要基于logging.go。
Apache针对不同的语言平台为做了一系列日志工具包,可应用于java、.net、php、c++,这些日志包都是免费的,使用非常方便,可以极大提高...现在,Apache通用日志工具commons-logging和Log4j已经成为Java日志的标准工具。
Apache 的特性: 1) 几乎可以运行在所有的计算机平台上. 2) 支持最新的HTTP/1.1协议 3) 简单而且强有力的基于文件的配置(HTTPD.CONF). 4) 支持通用网关接口(CGI) 5) 支持虚拟主机. 6) 支持HTTP认证. 7) 集成...
R包,用于处理Apache Web服务器访问日志文件 提供处理Apache HTTPD日志文件的功能。 主要功能是将访问和错误日志文件中的数据提取到数据帧中。 可用功能: 以通用或组合格式将Apache HTTPD访问日志读取到数据...
作为一个 Web 站点,必须考虑它的安全性,本书详细介绍如何对 Apache 实现安全机制,例如使用基本认证、服务器状态和日志、安全 Socket 层等等。为了让读者能够更好地了解 Apache 的工作情况,我们还特别介绍了 ...
3.支持通用网关接口 4.支持基于IP和基于域名的虚拟主机 5.支持多种方式的HTTP认证 6.集成Perl处理模块 7.集成代理服务器模块 8.支持实时监视服务器状态和定制服务器日志 9.支持服务器端包含指令(SSI) 10.支持安全...
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件。 功能介绍: 1.支持最新的HTTP/1.1通信协议 2.拥有简单而...
所有常用的日志格式,例如:NCSA通用日志格式,扩展日志格式,W3C扩展日志文件,Nginx JSON,OVH 一些流行的云服务的日志文件:Amazon AWS CloudFront日志,AWS S3日志,AWS ELB日志。 流媒体服务器日志文件,例如...
支持通用和组合日志格式。 在 GNU v3 下获得许可。 特征: 自动内容长度计算 调用 response.end 时激活 不需要中间件,例如 express 或 connect 默认为 Apache2 日志格式默认值 不需要调用 writeHead 以符合 CLF...
Dynatrace通用日志提取Log4j2 Appender Log4j2 Appender将Java应用程序与Dynatrace通用日志提取功能集成在一起。 为了使其正常工作,您必须提供两个参数: activeGateUrl启用了通用日志提取模块的ActiveGate实例的...
它支持三种最常见的日志格式(“通用日志格式”,“带有虚拟主机字段的通用日志格式”和“组合日志格式”),还允许您通过向其传递用于生成日志文件的LogFormat字符串来指定自定义日志格式。要解析。预定义的日志...
去年一年,我写了将近100篇网络日志。...下面就是我的日志分析脚本,虽然它还不是通用的,但是我相信里面用到的命令,足以满足一般的日志分析需求,同时也是很好的学习Bash的实例。如果下面的每一个命令你都
该perl脚本(apache_log_sql.pl)用于将Apache通用日志格式的日志文件移动到Oracle数据库中。
Spark+AI Summit 2019 会议上开源的项目,详见【重磅 | Apache Spark 社区期待的 Delta Lake 开源了】,当时文章只是简单介绍了下功能,本文将深入介绍 Apache Spark Delta Lake 的事务日志,通过本文我们可以了解 ...
数据文件:Apache通用日志格式(CLF) CLF中生成的日志文件条目将如下所示: 127.0.0.1 - - [01/Aug/1995:00:00:01 -0400] "GET /images/launch-logo.gif HTTP/1.0" 200 1839 详细信息-> 为什么选择星火 服务器...
使用在现有的通用日志格式(CLF)日志文件(例如Apache或Nginx日志文件)中找到的相同请求轰炸Web服务器。 请求以相同的顺序,相同的时间交付。 可以将其视为网站的整体模拟。 理想情况下,他们不能说出区别。 安装...
资源简介 Jakarta commons docs API CHM 格式带索引和全文搜索,方便携带和查询。 Jakarta commons 包含很多可复用的通用...jakarta-regexp 是一个100%纯java正则式处理包,是Jonathan Locke捐给Apache软件基金会的
浮木一些日志安装$ cargo add driftwood用法此板条箱当前提供三个记录器:Apache通用日志格式 let mut app = tide :: new ();app. with (driftwood :: ApacheCommonLogger); 范例: 127.0.0.1 - frank [10/Oct/2000:...