1 package org.newdawn.slick.util;
2
3 import java.security.AccessController;
4 import java.security.PrivilegedAction;
5
6
7
8
9
10
11 public final class Log {
12
13 private static boolean verbose = true;
14
15 private static boolean forcedVerbose = false;
16
17
18
19
20
21
22 private static final String forceVerboseProperty = "org.newdawn.slick.forceVerboseLog";
23
24
25
26
27 private static final String forceVerbosePropertyOnValue = "true";
28
29
30 private static LogSystem logSystem = new DefaultLogSystem();
31
32
33
34
35 private Log() {
36
37 }
38
39
40
41
42
43
44
45 public static void setLogSystem(LogSystem system) {
46 logSystem = system;
47 }
48
49
50
51
52
53
54
55
56 public static void setVerbose(boolean v) {
57 if (forcedVerbose)
58 return;
59 verbose = v;
60 }
61
62
63
64
65
66 public static void checkVerboseLogSetting() {
67 try {
68 AccessController.doPrivileged((PrivilegedAction<Object>) () -> {
69 String val = System.getProperty(Log.forceVerboseProperty);
70 if ((val != null) && (val.equalsIgnoreCase(Log.forceVerbosePropertyOnValue))) {
71 Log.setForcedVerboseOn();
72 }
73 return null;
74 });
75 } catch (Throwable e) {
76
77 }
78 }
79
80
81
82
83
84
85 private static void setForcedVerboseOn() {
86 forcedVerbose = true;
87 verbose = true;
88 }
89
90
91
92
93
94
95
96 public static void error(String message, Throwable e) {
97 logSystem.error(message, e);
98 }
99
100
101
102
103
104
105 public static void error(Throwable e) {
106 logSystem.error(e);
107 }
108
109
110
111
112
113
114 public static void error(String message) {
115 logSystem.error(message);
116 }
117
118
119
120
121
122
123 public static void warn(String message) {
124 logSystem.warn(message);
125 }
126
127
128
129
130
131
132
133 public static void warn(String message, Throwable e) {
134 logSystem.warn(message, e);
135 }
136
137
138
139
140
141
142 public static void info(String message) {
143 if (verbose || forcedVerbose) {
144 logSystem.info(message);
145 }
146 }
147
148
149
150
151
152
153 public static void debug(String message) {
154 if (verbose || forcedVerbose) {
155 logSystem.debug(message);
156 }
157 }
158 }