快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

log4j学习(上)

csdn上有很多关于log4j的例子和教程,有的写的挺好的,但为了巩固知识,自己也写一份吧。

我对log4j的要求不是很高,主要有两个用途

一) web应用程序中如何使用log4j和common-logging 包;
二) 普通的java应用程序如何使用log4j和common-logging 包;

首先先总结简朴的,在普通java应用程序中如何使用log4j和common-logging 包

步骤如下:
1) 将 log4j.jar 和 common-logging.jar 两个包加入到环境变量或者CLASSPATH

2) 写log4j.xml 文件,例如:

<?xml version="1.0" encoding="UTF-8">
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarata.apache.org/log4j/">

<appender name="file" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="log.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConVersionPattern" value="%d [%t] %p - %m%n"/>
</layout>
</appender>

<logger name="com.log4j.test.test" additivity="false">
<level value="debug"/>
<appender-ref ref="file"/>
</logger>

<root>
<level value="info"/>
<appender-ref ref="file"/>
</root>

</log4j:configuration>

3) 程序中使用方式:
package com.log4j.test;

import org.apache.log4j.xml.DOMConfigurator;

import org.apache.commons.logging.*;


class ConfigLog4j
{
public static void config()
{
DOMConfigurator.configure("config/log4j.xml");
}
}
public class TestLog4j {
private Log log =LogFactory.getLog(TestLog4j.class);

public TestLog4j() {
ConfigLog4j.config();

}

public void testPrint1()
{
log.debug("debug test");
log.info("info test");
log.warn("warn test");
log.error("error test");
}

public static void main(String[] args)
{
TestLog4j test = new TestLog4j();
test.testPrint1();

}

}

OK ! 这样就会按要求打印消息了。

另附 log4j.dtd

log4j:configuration
|
+-- appender (name, class)
| |
| +-- param (name, value)
| +-- layout (class)
| |
| +-- param (name, value)
+-- logger (name, additivity)
| |
| +-- level (class, value)
| | |
| | +-- param (name, value)
| +-- appender-ref (ref)
+-- root
|
+-- param (name, class)
+-- level
| |
| +-- param (name, value)
+-- appender-ref (ref)


输出格式定义:
%m 输出代码中指定的消息
%p 输出优先级
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n”
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。一般使用了它就不需使用%c了。





返回类别: 教程
上一教程: Java how to program(Third Edition)??我的java手记(二)
下一教程: java初学者要搞清

您可以阅读与"log4j学习(上)"相关的教程:
· 今天总算看完了log4j,心情不错!把自己的学习笔记拿出来给大家共享一把
· 我的java学习笔记version0.1
· Java语言学习的要点
· java学习笔记7--Polymorphism
· J2ME游戏开发学习之用SETCLIP分割图片
    微笑服务 优质保证 索取样品