选择显示字体大小

java logging api 使用

当你在开发程序的时候, 调试(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.properties

//日志输出到文件
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.appender.a_default.layout.conversionpattern=%d %-5p [%t] %-17c{2} (%13f:%l) %3x - %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的使用方法>


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons