java 把log4j封装成utils_log4j的终极封装

packagecom.ycl.core.common;importjava.util.HashMap;importjava.util.Map;importorg.apache.log4j.Logger;public classLog {private static Map loggerMap = new HashMap();public static void main(String[] args) throwsClassNotFoundException {

Log.error("自定义LOG","sss444444");

}public static voiddebug(Object message){

String className=getClassName();

Logger log=getLogger(className);if(log.isDebugEnabled()){

log.debug(message);

}

}public static voiddebug(String tag, Object message){

String className=getClassName();

Logger log=getLogger(className);if(log.isDebugEnabled()){

log.debug(new StringBuffer().append("【").append(tag).append("】").append(message).toString());

}

}public static voidinfo(Object message){

String className=getClassName();

Logger log=getLogger(className);if(log.isInfoEnabled()){

log.info(message);

}

}public static voidinfo(String tag, Object message){

String className=getClassName();

Logger log=getLogger(className);if(log.isInfoEnabled()){

log.info(new StringBuffer().append("【").append(tag).append("】").append(message).toString());

}

}public static voidwarn(Object message){

String className=getClassName();

Logger log=getLogger(className);

log.warn(message);

}public static voidwarn(String tag, Object message){

String className=getClassName();

Logger log=getLogger(className);

log.warn(new StringBuffer().append("【").append(tag).append("】").append(message).toString());

}public static voiderror(Object message){

String className=getClassName();

Logger log=getLogger(className);

log.error(message);

}public static voiderror(String tag, Object message){

String className=getClassName();

Logger log=getLogger(className);

log.error(new StringBuffer().append("【").append(tag).append("】").append(message).toString());

}/*** 获取最开始的调用者所在类

*@return

*/

private staticString getClassName(){

Throwable th= newThrowable();

StackTraceElement[] stes=th.getStackTrace();

StackTraceElement ste= stes[2];returnste.getClassName();

}/*** 根据类名获得logger对象

*@paramclassName

*@return

*/

private staticLogger getLogger(String className){

Logger log= null;if(loggerMap.containsKey(className)){

log=loggerMap.get(className);

}else{try{

log=Logger.getLogger(Class.forName(className));

loggerMap.put(className, log);

}catch(ClassNotFoundException e) {

e.printStackTrace();

}

}returnlog;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值