为应用程序增加日志操作

原创 2007年10月16日 09:03:00
在应用程序中使用日志,可以帮助我们了解程序的执行情况。在Java世界中有许多的日志类库,例如:Jakatra的commons-logging,log4j还有JDK 1.4增加的日志类库java.util.logging。这里主要使用commons-logging和log4j。
commons-logging是一个简单的类库,它为不同的日志实现提供了一个桥梁,使你的应用程序在不修改源代码的情况下,在运行时动态地改变日志的实现类库。commons-logging为一些流行的日志实现提供了支持,而且为其他一些日志实现类库编写适配器也是非常简单的。
在使用了commons-logging的应用程序中,只需把log4j加入到类路径中就可以把log4j作为底层的日志实现,同时需要在类路径中加入log4j的配置文件log4j.properties。当log4j日志系统存在于类路径中时,LogFactory的默认实现会使用包装器类Log4JLogger。
commons-logging简介
commons-logging有两个主要的组件:Log(基本日志)和LogFactory(LogFactory知道如何创建Log的实例)。可以指定一个特殊的Log实现。指定一个LogFactory的是实现而不是使用默认实现是一个高级话题。
LogFactory的默认实现通过一下几个步骤来查找Log的实现。
1. 查找名为org.apache.commons.logging.Log的配置属性(为了与1.0之前的版本的兼容也可以使用org.apache.commons.logging.log来定义这个属性。
配置属性可以通过Java代码来设置,但更通用的方法是在类路径中的一个名为commons-logging.properties的文件中设置。如果在类路径中存在这样一个文件,那么这个文件的每一个条目都被认为是LogFactory的一个属性。当类路径中存在多个这个文件时,1.1之前的版本会使用第一个发现的属性文件。从1.1版本开始每一个文件可以定义一个priority条目,LogFactory会使用具有最高优先级的文件(没有定义priority时,默认为0)。当存在多个具有相同优先级的文件时,会使用第一个查找到的文件。
2. 查找名为org.apache.commons.logging.Log的系统属性(1.0之前为org.apache.commons.logging.log)
3. 如果类路径中存在Log4j日志系统,那么会使用相应的包装器类Log4JLogger。
4. 如果这个应用程序运行在JDK 1.4或更高版本上时,会使用相应包装器类Jdk14Logger。
5. 使用默认的简单日志包装器类SimpleLogger。

如何使用commons logging
1. 把commons-logging.jar加入到类路径中
2. 在类中添加如下代码
             private static final Log LOG = LogFactory.getLog(this.getClass().getName);
然后就可以在类中使用LOG对象,使用这个对象的log方法来记录日志

程序那些事:日志记录的作用和方法----如何在程序中记录日志

转载地址:http://www.infoq.com/cn/articles/why-and-how-log     程序中记录日志一般有两个目的:Troubleshooting(故障定位)和显示程序运...
  • bingliquhuo
  • bingliquhuo
  • 2014年03月12日 10:14
  • 4131

应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息,请参阅应用程序事件日志,或使用命令行sxstrace.exe工具。解决方法

应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息,请参阅应用程序事件日志,或使用命令行sxstrace.exe工具。解决方法...
  • yanghongche
  • yanghongche
  • 2015年11月27日 14:23
  • 11487

IIS应用程序池服务停止如何解决

原文:http://www.cnblogs.com/tangge/p/4193002.html 今天在我的windows7旗舰版上配置iis7 (Internet Information Ser...
  • u013908405
  • u013908405
  • 2016年09月03日 15:53
  • 6266

【Kubernetes】最佳实践2:获取容器应用日志

作者:彭靖田   在Kubernetes容器内运行的应用,同样有收集和获取日志的需求。通常,我们能够想到的最简单易行的方法就是重定向stdout和stderr到文件,如下所示: ./...
  • Cloud_Architect
  • Cloud_Architect
  • 2017年06月02日 14:03
  • 726

C#系统开发操作日志的实现

第一步:设计一个表(命名为goodluck_log),用来记录操作事项,设计如下: 其中,UserName为操作员姓名,SQL_Time为操作日期,SQL_log为操作描述,数据类型如图所示。 ...
  • lucky51222
  • lucky51222
  • 2014年03月15日 11:05
  • 5735

Android将程序崩溃信息保存本地文件

源码下载地址:http://download.csdn.net/detail/weidi1989/4588310 我们先建立一个crash项目,项目结构如图: 了解以下...
  • bruce_Ke
  • bruce_Ke
  • 2013年03月14日 15:22
  • 6067

增加重做日志组大小和增加日志组成员

  1.1.  增加重做日志文件大小(单机) PS:以下为10.150.17.1数据库为例实施(RAC环境略有不同,最好每个实例有6个重做日志组,每个重做日志组有2个成员,这两个成员...
  • kevin_LCC
  • kevin_LCC
  • 2014年11月25日 16:59
  • 1373

日志-syslog系统日志

前言 syslog是Linux系统默认的日志守护进程。默认的syslog配置文件是/etc/sysctl.conf文件 通常,syslog 接受来自系统的各种功能的信息,每个信息都包括重要级。/et...
  • ty_hf
  • ty_hf
  • 2017年02月17日 20:47
  • 3357

应用日志记录规范

一、日志分类 1、按等级分类 1)TRACE级、DEBUG级:理论上“不属于错误”,只是打印一些状态、提示信息,以便开发过程中观察,开发完成、正式上线后,要把它们都屏蔽掉。 2)IN...
  • zollty
  • zollty
  • 2016年12月31日 21:47
  • 1574

VB.NET程序目录下写日志

''' ''' 获取根目录 ''' ''' ''' Public Shared Function GetPath() As String ...
  • fengqingtao2008
  • fengqingtao2008
  • 2016年02月29日 11:33
  • 1773
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:为应用程序增加日志操作
举报原因:
原因补充:

(最多只允许输入30个字)