通用日志包学习笔记

[size=18]通用日志包[/size]

在构建一个Web系统得过程中,通常要完成的工作不仅仅是编码,还需要完成一些记录日志的工作。这样做是为了更好的监视代码中变量的变化情况和跟踪代码的运行轨迹,同时充当开发环境中的调试器。


1. 通用日志包概述
Apache通用日志包十是Apache组织的开源项目。它负责向开发者提供一系列通用的日志接口。用户可以自由地选择和实现通用日志接口。通用的日志包目前主要支持以下几个日志器。
Log4j日志器是一个开放源代码项目。它由Logger,Appender,和Layout这三个主要的组件构成。
SimpleLog 日志器在通用日志包中自带了org.apache.commons.logging..impl.Simple Log日志实现类。它实现了Log接口,把日志消息都输出到系统错误流System.err 中。
NoOpLog日志器在通用日志包中自带了org.apache.commons.logging.impl.NoOpLog日志实现类,实现了Log接口。其输出日志的方法中不进行任何操作。
其中,SimpleLog 和NoOpLog 日志器是通用日志包自带的,Log4j日志器是第三方的软件。


2.配置通用日志接口
要在Web应用系统中使用日志,一般都需要同过以下几个步骤来完成。
(1) 下载相关的JAR文件。
(2) 部署JAR文件。]
(3) 在通用日志包的属性文件中指定要使用的日志器(Log4j,SimpleLog或NoOpLog)。
(4) 选择日志器以后,为该日志其设定日志级,输出格式和地点等属性/。


3.下载相关的JAR文件
通用的日志包通常都是以JAR文件存在。这些JAR文件都可以在http://jakarta.apache.org/commons/loggin/这个地址下载到。(通常,在Struts下载包和Tomcat5.0.*的/Tomcat /common/lib目录下都包含了该包。)该包的包名为commons-logging.jar因为commons-logging.jar 文件之包含有SimpleLog和NoOpLog两种日志器,如果要使用Log4j日志器,还需要到apache的网站上下载Log4j的jar文件。下载下来的JAR文件应该叫做logging-log4j-1.2.13.zip。


4.部署日志器
如果要使用SimpleLog或者NoOpLog日志器,那么就把commons-logging.jar文件放到工程项目的/Web-INF/lib目录下。如果要使用第三方的Log4j日志器,那么就要把Log4j的JAR文件放到/Web-INF/lib/。然后再工程项目的属性窗口的构建路径中导入commons-logging.jar文件或Log4j的JAR文件。


5.指定日志器
通用日志包从名为common-logging.properties属性文件中获取实现接口的日志器。如果要使用Log4j日志器,那么就把该行的内容改为org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JCategoryLog,其他几个日志器与Log4j类似。


设置日志器属性
(1) 配置SimpleLog日志器
如果是使用SimpleLog日志器,那么其日志输出地点都是System.err系统错误流,用户不用进行配置。但可以在simplelog.properties属性文件中设置其日志级别。如下代码设置SimpleLog的日志级别为info。
Org.apache.commons.logging.simplelog.defaultlog=info
最后要把simplelog.properties属性文件保存到Web-INF/classes目录下。


(2) 配置Log4j日志器
配置Logger组件。通常会配制一个rootLogger,其配制语句如下:
Log4j.rootLogger=[日志级别],Appender1,Appender2……
其中,日志级别分别有OFF,FATAL,ERROR,WARN,INFO,DEBUG这六种权限。通过定义日志权限,可以控制程序中的日志是否打印输出等操作。Appender1,Appender2是用来指定Appender组件的。Appender组件用于配置消息的目的地,用户也可以同时指定多个Appender.

配置Appender组件。Appender是用来配置日志消息的输出地,其基本配置语法如下:
Log4j.appender.AppenderName =……
Log4j.appender.AppenderName.option1=…….
Log4j.appender.AppenderName.option2=…….

AppenderName由用户自己设置,其值由Log4j提供。Log4j提供了以下几种值。
Org.apache.log4j.ConsoleAppender 输出到控制台
Org.apache.log4j.DaillyRollingFileAppender 每天产生一个文件
Org..apache.log4j.FileAppender 输出到文件
Org,.apache.log4j.RollingFileAppender 文件按固定大小保存,超过固定大小,就新建一个文件。
Org.apache.log4j.WriterAppender 把日志消息以流的形式进行发送。

下面举个实例进行讲解:
Log4j.appender.file=org.apache.log4j.FileAppender
Log4j.appender.file.File = log4j.txt
以上代码定义名为file的Appender把日志消息输出到文件,文件名为log4j.txt。

配置Layout组件。Appender有一个Layout属性来指定日志文件以什么格式进行存储。Log4j提供以下几种格式。
Org.apache.log4j.HTMLLayout 以HTML表单格式存储。
Org.apache.log4j.PatternLayout 以指定的布局模式存储。
Org.apache.log4j.SimpleLayout 以包含日志消息的级别和信息字符窜的简单格式存储
Org.apache.log4j.TTCCLayout 以包含日志产生时间 线程和类别等信息的格式进行存储。

配置语句格式如下:
Log4j.appender.AppenderName.layout =…..
Log4j.appender.AppenderName.layout.option1 =…
Log4j.appender.AppenderName.layout.option2 =….

//测试属性文件
log4j.rootLogger=DEBUG,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %5p (%F:%L) - %m%n

//测试类
[code]package net.wanjin.testlog4j;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class TestLog {

/**
* @param args
*/
public static void main(String[] args) {
Log log = LogFactory.getLog("log");
log.error("LogAction 中出现异常 -LogAction.java");
}

}[/code]

[code]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值