-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Expand file tree
/
Copy pathLog.java
More file actions
executable file
·151 lines (128 loc) · 3.32 KB
/
Log.java
File metadata and controls
executable file
·151 lines (128 loc) · 3.32 KB
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
/*Copyright (C) 2020 Tencent. All rights reserved.
This source code is licensed under the Apache License Version 2.0.*/
package apijson;
import java.text.SimpleDateFormat;
/**测试用日志
* @modifier Lemon
*/
public class Log {
public static boolean DEBUG = false;
public static final String LEVEL_VERBOSE = "VERBOSE";
public static final String LEVEL_INFO = "INFO";
public static final String LEVEL_DEBUG = "DEBUG";
public static final String LEVEL_WARN = "WARN";
public static final String LEVEL_ERROR = "ERROR";
public static String LEVEL = LEVEL_WARN;
public static final String VERSION = "8.1.5";
public static final String KEY_SYSTEM_INFO_DIVIDER = "\n---|-----APIJSON SYSTEM INFO-----|---\n";
public static final String OS_NAME;
public static final String OS_VERSION;
public static final String OS_ARCH;
public static final String JAVA_VERSION;
static {
OS_NAME = System.getProperty("os.name");
OS_VERSION = System.getProperty("os.version");
OS_ARCH = System.getProperty("os.arch");
JAVA_VERSION = System.getProperty("java.version");
}
//默认的时间格式
public static SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");
/**
* modify date format
* @param dateFormatString
*/
public static void setDateFormat(String dateFormatString) {
DATE_FORMAT = new SimpleDateFormat(dateFormatString);
}
/**
* log info by level tag and msg
* @param TAG
* @param msg
* @param level
*/
public static void logInfo(String TAG, String msg, String level) {
if (level == null || level.isEmpty()) {
level = LEVEL;
}
if (level.equals(LEVEL_VERBOSE) || level.equals(LEVEL_INFO)) {
System.out.println(DATE_FORMAT.format(System.currentTimeMillis()) + ": " + TAG + "." + level + ": " + msg);
}
else if (level.equals(LEVEL_DEBUG) || level.equals(LEVEL_ERROR) || level.equals(LEVEL_WARN)) {
System.err.println(DATE_FORMAT.format(System.currentTimeMillis()) + ": " + TAG + "." + level + ": " + msg);
}
}
/**
* @param TAG
* @param msg
*/
public static void d(String TAG, String msg) {
if (DEBUG) {
logInfo(TAG, msg, LEVEL_DEBUG);
}
}
/**
* Forced debug
* @param TAG tag
* @param msg debug messages
*/
public static void fd(String TAG, String msg) {
logInfo(TAG, msg, LEVEL_DEBUG);
}
/**
* Generate separation line
* @param pre prefix
* @param symbol used for generating separation line
* @param post postfix
*/
public static void sl(String pre, char symbol, String post) {
System.err.println(pre + new String(new char[48]).replace('\u0000', symbol) + post);
}
/**
* @param TAG
* @param msg
*/
public static void v(String TAG, String msg) {
if (DEBUG) {
logInfo(TAG, msg, LEVEL_VERBOSE);
}
}
/**
* @param TAG
* @param msg
*/
public static void i(String TAG, String msg) {
if (DEBUG) {
logInfo(TAG, msg, LEVEL_INFO);
}
}
/**
* @param TAG
* @param msg
*/
public static void e(String TAG, String msg) {
if (DEBUG) {
logInfo(TAG, msg, LEVEL_ERROR);
}
}
/**
* @param TAG
* @param msg
*/
public static void e(String TAG, String msg, Throwable e) {
if (DEBUG) {
if (e != null) {
e.printStackTrace();
}
logInfo(TAG, msg, LEVEL_ERROR);
}
}
/**
* @param TAG
* @param msg
*/
public static void w(String TAG, String msg) {
if (DEBUG) {
logInfo(TAG, msg, LEVEL_WARN);
}
}
}