Topic: 请日志高手指点,如何在Log4j中添加自定义项的输出

  Print this page

1.请日志高手指点,如何在Log4j中添加自定义项的输出 Copy to clipboard
Posted by: lj6684
Posted on: 2004-07-05 11:37

Log4j中的标准日志格式可控制的输出参数为 timeStamp, ThreadName, ClassName, message, throwable......,现在我需要在日志中额外记录userID, userInfo等操作员信息,请问应该如何实现。
我想可能要编写自己的类去继承Logger, Appender, Layout实现,但怎么处理还没想好,如果哪位高人有思路或更好的方法请指点,万分感谢!!!

2.Re:请日志高手指点,如何在Log4j中添加自定义项的输出 [Re: lj6684] Copy to clipboard
Posted by: l_walker
Posted on: 2004-07-06 11:15

自己实现应该不错,不过工作量比较大,

既然只是输出有谁执行等的信息,
哪为何不在你的类调用log的时候作些封装呢?
比如
log.debug("user.name=" + currentUser.getName + logMsg);

或者封装下log的调用,在一个父类中封装一些log的操作,为每个log添加用户信息呢?

public abstract class Logable {
//Log 实例
Log4J log;

//为保证每个类都输出自己的信息,故使用抽象方法在
//每个类中设置log实例
protected abstract setLog(Log4J instance);

public void debug(String msg){
//添加你所需要的log信息和格式
log.debug(........);
}

}


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923