package com.matrix.core.tools;
|
|
import org.apache.log4j.Logger;
|
|
/**
|
* 日志工具
|
*
|
* @author JIANGYOUYAO
|
* @email 935090232@qq.com
|
* @date 2017年11月27日
|
*/
|
public class LogUtil {
|
|
private static Logger log = Logger.getLogger(LogUtil.class);
|
|
private static final int CALL_DEEP = 3;
|
|
public static void info(String message, Object... params) {
|
log.info(getInvokeMessage(formart(message, params)));
|
}
|
|
public static void debug(String message, Object... params) {
|
log.debug(getInvokeMessage(formart(message, params)));
|
}
|
|
public static void warn(String message, Object... params) {
|
log.warn(getInvokeMessage(formart(message, params)));
|
}
|
|
/**
|
* 打印error信息,带堆栈
|
*
|
* @author JIANGYOUYAO
|
* @email 935090232@qq.com
|
* @date 2017年11月27日
|
* @param message
|
* @param t
|
* @param params
|
*/
|
public static void error(String message, Throwable t, Object... params) {
|
log.error(getInvokeMessage(formart(message, params)), t);
|
}
|
|
/**
|
* 打印error信息,不带堆栈
|
*
|
* @author JIANGYOUYAO
|
* @email 935090232@qq.com
|
* @date 2017年11月27日
|
* @param message
|
* @param params
|
*/
|
public static void error(String message, Object... params) {
|
log.error(getInvokeMessage(formart(message, params)));
|
}
|
|
/**
|
* 构建类信息和方法信息
|
*
|
* @author JIANGYOUYAO
|
* @email 935090232@qq.com
|
* @date 2017年11月27日
|
* @param message
|
* @return
|
*/
|
public static String getInvokeMessage(String message) {
|
StringBuffer msg = new StringBuffer();
|
StackTraceElement[] track = Thread.currentThread().getStackTrace();
|
if (track.length > CALL_DEEP && track[CALL_DEEP] != null) {
|
StackTraceElement element = track[CALL_DEEP];
|
msg.append(" [ ").append(element.getClassName()).append(".").append(element.getMethodName())
|
.append("(" + element.getFileName() + ":" + element.getLineNumber() + ")").append(" ] — ");
|
}
|
return msg.append(message).toString();
|
}
|
|
/**
|
* 格式化参数
|
*
|
* @author JIANGYOUYAO
|
* @email 935090232@qq.com
|
* @date 2017年11月27日
|
* @param message
|
* @param params
|
* @return
|
*/
|
public static String formart(String message, Object... params) {
|
|
message = message.replace("{}", "%s");
|
if (params == null || params.length < 1) {
|
return message;
|
}
|
return String.format(message, params);
|
|
}
|
|
}
|