package com.taover.repository; import java.io.PrintWriter; import java.io.StringWriter; import java.util.HashMap; import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class UtilsLog { private static Map logByClassName = new HashMap(); /** * 输出日志文本 * @param message * @param infoClass */ public static void infoForMessage(String message, Class infoClass){ String className = infoClass.getName(); Log log = logByClassName.get(infoClass.getName()); if(log == null){ log = LogFactory.getLog(infoClass); if(log == null){ return; } logByClassName.put(className, log); } log.info(message); } /** * 输出日志Exception内容 * @param e * @param infoClass */ public static String infoForException(Exception e, Class infoClass){ StringWriter sw = new StringWriter(); e.printStackTrace(new PrintWriter(sw)); UtilsLog.infoForMessage(sw.toString(), infoClass); return sw.toString(); } /** * 输出文本内容 * @param message * @param infoClass */ public static void errorForMessage(String message, Class infoClass){ String className = infoClass.getName(); Log log = logByClassName.get(infoClass.getName()); if(log == null){ log = LogFactory.getLog(infoClass); if(log == null){ return; } logByClassName.put(className, log); } log.error(message); } /** * 输出日志Exception信息 * @param e * @param infoClass */ public static String errorForException(Exception e, Class infoClass){ StringWriter sw = new StringWriter(); e.printStackTrace(new PrintWriter(sw)); UtilsLog.errorForMessage(sw.toString(), infoClass); return sw.toString(); } }