package com.taover.util; import java.io.PrintWriter; import java.io.StringWriter; import java.util.HashMap; import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class UtilLog { private static Map logByClassName = new HashMap(); /** * 输出日志文本 * @param message * @param infoClass */ public static void infoForMessage(String message, Class infoClass){ String className = infoClass.getName(); Logger log = logByClassName.get(infoClass.getName()); if(log == null){ log = LoggerFactory.getLogger(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)); UtilLog.infoForMessage(sw.toString(), infoClass); return sw.toString(); } /** * 输出文本内容 * @param message * @param infoClass */ public static void errorForMessage(String message, Class infoClass){ String className = infoClass.getName(); Logger log = logByClassName.get(infoClass.getName()); if(log == null){ log = LoggerFactory.getLogger(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)); UtilLog.errorForMessage(sw.toString(), infoClass); return sw.toString(); } }