-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathLogger.java
More file actions
141 lines (110 loc) · 6.69 KB
/
Logger.java
File metadata and controls
141 lines (110 loc) · 6.69 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
package roj.text.logging;
import roj.reflect.Reflection;
/**
* @author Roj233
* @since 2022/6/1 5:04
*/
public final class Logger {
private static LogContext rootContext = new LogContext();
public static void setRootContext(LogContext c) { rootContext = c; }
public static LogContext getRootContext() { return rootContext; }
public static Logger getLogger() { return getLogger(Reflection.getCallerClass(2).getSimpleName()); }
public static Logger getLogger(String name) {return rootContext.child(name).logger();}
public static final Logger FALLBACK = getLogger("RojLib");
LogContext ctx;
Logger(LogContext ctx) {this.ctx = ctx;}
public void setLevel(Level level) {ctx.level(level);}
public Level getLevel() {return ctx.level();}
public boolean canLog(Level level) {return getLevel().canLog(level);}
public LogContext context() {return ctx;}
public final void trace(String msg) { log(Level.TRACE, msg, null); }
public final void trace(String msg, Object p0) { log(Level.TRACE, msg, null, p0); }
public final void trace(String msg, Object p0, Object p1) { log(Level.TRACE, msg, null, p0, p1); }
public final void trace(String msg, Object p0, Object p1, Object p2) { log(Level.TRACE, msg, null, p0, p1, p2); }
public final void debug(String msg) { log(Level.DEBUG, msg, null); }
public final void debug(String msg, Object p0) { log(Level.DEBUG, msg, null, p0); }
public final void debug(String msg, Object p0, Object p1) { log(Level.DEBUG, msg, null, p0, p1); }
public final void debug(String msg, Object p0, Object p1, Object p2) { log(Level.DEBUG, msg, null, p0, p1, p2); }
public final void debug(String msg, Throwable ex) { log(Level.DEBUG, msg, ex); }
public final void debug(String msg, Throwable ex, Object p0) { log(Level.DEBUG, msg, ex, p0); }
public final void debug(String msg, Throwable ex, Object p0, Object p1) { log(Level.DEBUG, msg, ex, p0, p1); }
public final void debug(String msg, Throwable ex, Object ...p) { log(Level.DEBUG, msg, ex, p); }
public final void info(String msg) { log(Level.INFO, msg, null); }
public final void info(String msg, Object p0) { log(Level.INFO, msg, null, p0); }
public final void info(String msg, Object p0, Object p1) { log(Level.INFO, msg, null, p0, p1); }
public final void info(String msg, Object p0, Object p1, Object p2) { log(Level.INFO, msg, null, p0, p1, p2); }
public final void info(String msg, Object ...p) { log(Level.INFO, msg, null, p); }
public final void info(String msg, Throwable ex) { log(Level.INFO, msg, ex); }
public final void info(String msg, Throwable ex, Object p0) { log(Level.INFO, msg, ex, p0); }
public final void info(String msg, Throwable ex, Object p0, Object p1) { log(Level.INFO, msg, ex, p0, p1); }
public final void info(String msg, Throwable ex, Object ...p) { log(Level.INFO, msg, ex, p); }
public final void warn(String msg) { log(Level.WARN, msg, null); }
public final void warn(String msg, Object p0) { log(Level.WARN, msg, null, p0); }
public final void warn(String msg, Object p0, Object p1) { log(Level.WARN, msg, null, p0, p1); }
public final void warn(String msg, Object p0, Object p1, Object p2) { log(Level.WARN, msg, null, p0, p1, p2); }
public final void warn(String msg, Object ...p) { log(Level.ERROR, msg, null, p); }
public final void warn(String msg, Throwable ex) { log(Level.WARN, msg, ex); }
public final void warn(String msg, Throwable ex, Object p0) { log(Level.WARN, msg, ex, p0); }
public final void warn(String msg, Throwable ex, Object p0, Object p1) { log(Level.WARN, msg, ex, p0, p1); }
public final void warn(String msg, Throwable ex, Object ...p) { log(Level.WARN, msg, ex, p); }
public final void error(String msg) { log(Level.ERROR, msg, null); }
public final void error(String msg, Object p0) { log(Level.ERROR, msg, null, p0); }
public final void error(String msg, Object p0, Object p1) { log(Level.ERROR, msg, null, p0, p1); }
public final void error(String msg, Object p0, Object p1, Object p2) { log(Level.ERROR, msg, null, p0, p1, p2); }
public final void error(String msg, Object ...p) { log(Level.ERROR, msg, null, p); }
public final void error(Throwable e) { log(Level.ERROR, "Catching {}", e, e.getClass().getSimpleName()); }
public final void error(String msg, Throwable ex) { log(Level.ERROR, msg, ex); }
public final void error(String msg, Throwable ex, Object p0) { log(Level.ERROR, msg, ex, p0); }
public final void error(String msg, Throwable ex, Object p0, Object p1) { log(Level.ERROR, msg, ex, p0, p1); }
public final void error(String msg, Throwable ex, Object ...p) { log(Level.ERROR, msg, ex, p); }
public final void fatal(String msg) { log(Level.FATAL, msg, null); }
public final void fatal(String msg, Object p0) { log(Level.FATAL, msg, null, p0); }
public final void fatal(String msg, Object p0, Object p1) { log(Level.FATAL, msg, null, p0, p1); }
public final void fatal(String msg, Object p0, Object p1, Object p2) { log(Level.FATAL, msg, null, p0, p1, p2); }
public final void fatal(Throwable e) { log(Level.FATAL, "Catching {}", e, e.getClass().getSimpleName()); }
public final void fatal(String msg, Throwable ex) { log(Level.FATAL, msg, ex); }
public final void fatal(String msg, Throwable ex, Object p0) { log(Level.FATAL, msg, ex, p0); }
public final void fatal(String msg, Throwable ex, Object p0, Object p1) { log(Level.FATAL, msg, ex, p0, p1); }
public final void log(Level lv, CharSequence msg, Throwable ex) {
if (!canLog(lv)) return;
LogWriter h = ctx.writer();
ctx.log(h, lv, msg, ex, null, 0);
}
public final void log(Level lv, String msg, Throwable ex, Object p0) {
if (!canLog(lv)) return;
LogWriter h = ctx.writer();
Object[] f = h.sharedArguments;
f[0] = p0;
ctx.log(h, lv, msg, ex, f, 1);
f[0] = null;
}
public final void log(Level lv, String msg, Throwable ex, Object p0, Object p1) {
if (!canLog(lv)) return;
LogWriter h = ctx.writer();
Object[] f = h.sharedArguments;
f[0] = p0;f[1] = p1;
ctx.log(h, lv, msg, ex, f, 2);
f[0] = null;f[1] = null;
}
public final void log(Level lv, String msg, Throwable ex, Object p0, Object p1, Object p2) {
if (!canLog(lv)) return;
LogWriter h = ctx.writer();
Object[] f = h.sharedArguments;
f[0] = p0;f[1] = p1;f[2] = p2;
ctx.log(h, lv, msg, ex, f, 3);
f[0] = null;f[1] = null;f[2] = null;
}
public final void log(Level lv, String msg, Throwable ex, Object p0, Object p1, Object p2, Object p3) {
if (!canLog(lv)) return;
LogWriter h = ctx.writer();
Object[] f = h.sharedArguments;
f[0] = p0;f[1] = p1;f[2] = p2;f[3] = p3;
ctx.log(h, lv, msg, ex, f, 4);
f[0] = null;f[1] = null;f[2] = null;f[3] = null;
}
public final void log(Level lv, String msg, Throwable ex, Object... pars) {
if (!canLog(lv)) return;
LogWriter h = ctx.writer();
ctx.log(h, lv, msg, ex, pars, pars.length);
}
}