网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 程序设计 >> Java编程 >> 文章正文
  log4j和commons.logging日志记录的使用方法            【字体:
log4j和commons.logging日志记录的使用方法
作者:佚名    文章来源:不详    点击数:    更新时间:2007-7-7    
正在装载数据……
当你在开发程序的时候, 调试(debugging)和日志(logging)都是非常重要的工作, 但是, 现在有太多的 logging API 问世, 因为他们都不错, 很难做一个抉择. 国外 java 论坛对于这些 logging 方式也是有一番讨论.

而 common logging 就是一个在这几个不同的 logging API 中建立小小的桥梁.目前在 Java 中最有名的 Log 方式, 首推是 Log4j, 另是 JDK 1.4 Logging API. 除此之外, 还有 Avalon 中用的 LogKit 等等 . 而 commons-logging 也有实现一些基本 的 logging 方式为 NoOpLog 及 SimpleLog. 对于他们的比较不在这次讨论范围,

有兴趣者请自行参阅参考文件.

快速使用 Logging 其实 logging 非常简单去使用, 将 commons-logging.jar 放到 /WEB-INF/lib 之下.接著写以下的代码

LoggingTest.java

package com.softleader.newspaper.java.opensource;

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

public class LoggingTest {

Log log = LogFactory.getLog(LoggingTest.class);

public void hello() {
log.error("ERROR");
log.debug("DEBUG");
log.warn("WARN");
log.info("INFO");
log.trace("TRACE");
System.out.println("OKOK");
}

}

在 / 放置一个 jsp 测试 test-commons-logging.jsp

<%@ page import="com.softleader.newspaper.java.opensource.LoggingTest" %>
<% LoggingTest test = new LoggingTest(); test.hello();%>

你将会看到 tomcat console 会有下面输出

log4j:WARN No appenders could be found for logger (com.softleader.newspaper.java.opensource.LoggingTest).
log4j:WARN Please initialize the log4j system properly.OKOK

是因为你还没有配置 commons-logging.properties, 马上会为你介绍 ~~~.

设定 commons-logging.properties 你可以设置你的 log factory 是要使用哪一个 我以 Log4J 为例子 在 /WEB-INF/classes/commons-logging.properties 中写入
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JCategoryLog
如果你 server 是使用 jdk1.4 以上的版本
可以使用 org.apache.commons.logging.impl.Jdk14Logger
接著根据你的 Logger 撰写符合他的 properties 拿 Log4j 为例子 你就要在
/WEB-INF/classes/ 下放置一个

//日志输出到文件
log4j.rootLogger=DEBUG, A_default
log4j.appender.A_default=org.apache.log4j.RollingFileAppender
log4j.appender.A_default.File=c://log/test.log
log4j.appender.A_default.MaxFileSize=4000KB
log4j.appender.A_default.MaxBackupIndex=10
log4j.appender.A_default.layout=org.apache.log4j.PatternLayout
log4j.appender.A_default.layout.ConversionPattern=%d{ISO8601} - %p - %m%n

//日志输出到控制台
log4j.rootLogger=INFO, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n


此时你去执行 test-commons-logging.jsp 输出的内容, 就会记录在你的 c:\log 目录的 test.log 中了 ps:如果没有相关的 class 会使用到 SimpLog, 此时要设定的是
simplelog.properties 结论以我自己本身使用的经验, Log4j 可以满足所有工程师, 所以我也是直接使用 log4j 而没有使用 commons-logging.

不过为了增加产品的通用性, 避免移植时候的麻烦, 新的产品及项目, 我会将他改成 commons-logging api 去调用.

如果你对commons-logging的工作原理不是很了解,请参考<commons-logging的使用方法>

站内文章搜索 高级搜索
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
     用java实现web服务器
     用java快速开发linux gu…
     正则表达式分解siemens交…
     [portal参考手册]目录
     jsp中调用oracle存储过程…
  • weblogic 9.1的domain配置my…

  • 保留weblogic 中jsp编译后生…

  • Ant入门-配置和使用     选…

  • CTrueColorToolBar的使用

  • Windows API一日一练(23)Set…

  • 说说C++中的malloc与new

  • 智能指针的标准之争:Boost …

  • C++ Meta Programming 和 Bo…

  • C++ Meta Programming 和 Bo…

  • C++ Meta Programming 和 Bo…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    网络学院©2007 www.23book.net
    为您提供web编程,vb编程,vc编程,服务器架设管理,数据库设计等方面的知识 站长:David