jyy
2021-01-09 30f2f276ca35cae2bde763c58719f05c572f415b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
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);
 
    }
 
}