UtilLog.java 2.12 KB
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<String, Logger> logByClassName = new HashMap<String, Logger>(); 
	
	/**
	 * 输出日志文本
	 * @param message
	 * @param infoClass
	 */
	public static void infoForMessage(String message, Class infoClass){
		info(message, null, infoClass);
	}
	
	/**
	 * 输出日志Exception内容
	 * @param e
	 * @param infoClass
	 */
	public static String infoForException(Exception e, Class infoClass){
		StringWriter sw = new StringWriter();
		e.printStackTrace(new PrintWriter(sw));
		info(sw.toString(), null, infoClass);
		return sw.toString();
	}
	
	/**
	 * 输出文本内容
	 * @param message
	 * @param infoClass
	 */
	public static void errorForMessage(String message, Class infoClass){
		error(message, null, infoClass);
	}
	
	/**
	 * 输出日志Exception信息
	 * @param e
	 * @param infoClass
	 */
	public static String errorForException(Exception e, Class infoClass){
		StringWriter sw = new StringWriter();
		e.printStackTrace(new PrintWriter(sw));
		error(null, e, infoClass);
		return sw.toString();
	}

	/**
	 * 综合信息
	 * @param message
	 * @param e
	 * @param infoClass
	 */
	public static void error(String message, Exception e, Class infoClass){
		//获取logger
		Logger log = LoggerFactory.getLogger(infoClass);
		
		//Exception 信息
		if(e != null) {
			StringWriter sw = new StringWriter();
			e.printStackTrace(new PrintWriter(sw));
			log.error(message+"\n"+sw.toString());
		}else {
			log.error(message);
		}
	}
	
	/**
	 * 综合信息
	 * @param message
	 * @param e
	 * @param infoClass
	 */
	public static void info(String message, Exception e, Class infoClass){
		//获取logger
		Logger log = LoggerFactory.getLogger(infoClass);
		
		//Message 信息
		if(message == null) {
			message = "";
		}
		
		//Exception 信息
		if(e != null) {
			StringWriter sw = new StringWriter();
			e.printStackTrace(new PrintWriter(sw));
			log.info(message+"\n"+sw.toString());
		}else {
			log.info(message);
		}
	}	
}