日期:2014-05-18  浏览次数:20726 次

log4j使用问题
有个朋友这样说的,但因为没有理解,所以来求答案


在B类里   getlogger(this.getClass())
在B类里写个   log   输出

用A继承B,输出是什么?
run   A   用A继承B,输出是什么?  
..............问,应该输出什么呢..............


就是告诉你...不用在每个类里写log初始化
写个base类就行了,

..............问,这个base要怎样写,为什么不用在每个类里写log初始化呢........


能否给个实例看一下

------解决方案--------------------
当然每个类都要实例一个对象啦。要不然日志文件的行号就不正确了
自己试一下就清楚了
public abstract class AbstractAction {
private static final Logger log = Logger.getLogger(AbstractAction.class);
private void test(){
try{
.....
}
catch (Exception e) {
log.error( " ",e);
}
}

------解决方案--------------------
直接使用类名.class就可以了,虽然有些不太灵活。