admin
2021-07-06 abce02c7a61820f5d580f87364d542e817be429c
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
98
99
100
101
102
103
104
105
106
107
108
package com.app.hubert.guide.util;
 
import android.text.TextUtils;
import android.util.Log;
 
import com.app.hubert.guide.NewbieGuide;
 
import java.util.Locale;
 
/**
 * 简易控制日志输出的util
 */
public class LogUtil {
 
    private static final int NONE = 8;
    private static final String tagPrefix = NewbieGuide.TAG;
 
 
    /**
     * 修改打印级别
     */
    public static final int level = NONE;
//    public static final int level = Log.VERBOSE;
 
    /**
     * 得到tag(所在类.方法(L:行))
     */
    private static String generateTag() {
        StackTraceElement stackTraceElement = Thread.currentThread().getStackTrace()[4];
        String callerClazzName = stackTraceElement.getClassName();
        callerClazzName = callerClazzName.substring(callerClazzName.lastIndexOf(".") + 1);
        String tag = "%s.%s(L:%d)";
        tag = String.format(Locale.CHINA, tag, callerClazzName, stackTraceElement.getMethodName(), stackTraceElement.getLineNumber());
        //给tag设置前缀
        tag = TextUtils.isEmpty(tagPrefix) ? tag : tagPrefix + ":" + tag;
        return tag;
    }
 
    public static void v(String msg) {
        if (level <= Log.VERBOSE) {
            String tag = generateTag();
            Log.v(tag, msg);
        }
    }
 
    public static void v(String msg, Throwable tr) {
        if (level <= Log.VERBOSE) {
            String tag = generateTag();
            Log.v(tag, msg, tr);
        }
    }
 
    public static void d(String msg) {
        if (level <= Log.DEBUG) {
            String tag = generateTag();
            Log.d(tag, msg);
        }
    }
 
    public static void d(String msg, Throwable tr) {
        if (level <= Log.DEBUG) {
            String tag = generateTag();
            Log.d(tag, msg, tr);
        }
    }
 
    public static void i(String msg) {
        if (level <= Log.INFO) {
            String tag = generateTag();
            Log.i(tag, msg);
        }
    }
 
    public static void i(String msg, Throwable tr) {
        if (level <= Log.INFO) {
            String tag = generateTag();
            Log.i(tag, msg, tr);
        }
    }
 
    public static void w(String msg) {
        if (level <= Log.WARN) {
            String tag = generateTag();
            Log.w(tag, msg);
        }
    }
 
    public static void w(String msg, Throwable tr) {
        if (level <= Log.WARN) {
            String tag = generateTag();
            Log.w(tag, msg, tr);
        }
    }
 
    public static void e(String msg) {
        if (level <= Log.ERROR) {
            String tag = generateTag();
            Log.e(tag, msg);
        }
    }
 
    public static void e(String msg, Throwable tr) {
        if (level <= Log.ERROR) {
            String tag = generateTag();
            Log.e(tag, msg, tr);
        }
    }
}