Skip to content

Commit 5cc7bf2

Browse files
committed
Use abstract methods for each level instead of just loggerFor()
1 parent df956a6 commit 5cc7bf2

File tree

4 files changed

+245
-317
lines changed

4 files changed

+245
-317
lines changed
Lines changed: 5 additions & 259 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1+
/*
2+
* Copyright (c) Forge Development LLC
3+
* SPDX-License-Identifier: LGPL-2.1-only
4+
*/
15
package net.minecraftforge.util.logging;
26

3-
import org.jetbrains.annotations.ApiStatus;
47
import org.jetbrains.annotations.Nullable;
58

6-
import java.io.PrintStream;
79
import java.util.AbstractMap;
810
import java.util.ArrayList;
911
import java.util.Iterator;
@@ -138,265 +140,9 @@ public final void release(BiConsumer<Level, String> consumer) {
138140

139141
/* LOGGING */
140142

141-
private static final DelegatePrintStream.Empty EMPTY = DelegatePrintStream.EMPTY;
142-
private final DelegatePrintStream.Capturing debug = new DelegatePrintStream.Capturing(this, Level.DEBUG, this.loggerFor(Level.DEBUG));
143-
private final DelegatePrintStream.Capturing quiet = new DelegatePrintStream.Capturing(this, Level.QUIET, this.loggerFor(Level.QUIET));
144-
private final DelegatePrintStream.Capturing info = new DelegatePrintStream.Capturing(this, Level.INFO, this.loggerFor(Level.INFO));
145-
private final DelegatePrintStream.Capturing warn = new DelegatePrintStream.Capturing(this, Level.WARN, this.loggerFor(Level.WARN));
146-
private final DelegatePrintStream.Capturing error = new DelegatePrintStream.Capturing(this, Level.ERROR, this.loggerFor(Level.ERROR));
147-
private final DelegatePrintStream.Capturing fatal = new DelegatePrintStream.Capturing(this, Level.FATAL, this.loggerFor(Level.FATAL));
148-
149-
/**
150-
* Creates a logger for the given level.
151-
* <p>The result of this method is saved in this logger when it is created.</p>
152-
*
153-
* @param level The level to create a logger for
154-
* @return The logger
155-
*/
156-
protected abstract Consumer<? super String> loggerFor(Level level);
157-
158-
@Override
159-
public final PrintStream getLog(@Nullable Level level) {
160-
if (level == null) return EMPTY;
161-
switch (level) {
162-
case DEBUG: return this.debug;
163-
case QUIET: return this.quiet;
164-
case INFO: return this.info;
165-
case WARN: return this.warn;
166-
case ERROR: return this.error;
167-
case FATAL: return this.fatal;
168-
}
169-
170-
throw new IllegalStateException("Unexpected value: " + level);
171-
}
172-
173-
@Override
174-
public final void log(Level level) {
175-
getLog(level).println();
176-
}
177-
178-
@Override
179-
public final void log(Level level, String message) {
180-
getLog(level).println(message);
181-
}
143+
static final DelegatePrintStream.Empty EMPTY = DelegatePrintStream.EMPTY;
182144

183145
private void logDirectly(Level level, String message) {
184146
((DelegatePrintStream) this.getLog(level)).getDelegate().accept(message);
185147
}
186-
187-
@Override
188-
public final void log(Level level, Object message) {
189-
getLog(level).println(message);
190-
}
191-
192-
@Override
193-
public final void log(Level level, Throwable throwable) {
194-
throwable.printStackTrace(getLog(level));
195-
}
196-
197-
@Override
198-
public final void log(Level level, Object message, Throwable throwable) {
199-
PrintStream log = getLog(level);
200-
log.println(message);
201-
throwable.printStackTrace(log);
202-
}
203-
204-
@Override
205-
public final void log(Level level, String message, Throwable throwable) {
206-
PrintStream log = getLog(level);
207-
log.println(message);
208-
throwable.printStackTrace(log);
209-
}
210-
211-
@Override
212-
public final void debug() {
213-
this.debug.println();
214-
}
215-
216-
@Override
217-
public final void debug(String message) {
218-
this.debug.println(message);
219-
}
220-
221-
@Override
222-
public final void debug(Object message) {
223-
this.debug.println(message);
224-
}
225-
226-
@Override
227-
public final void debug(Throwable throwable) {
228-
throwable.printStackTrace(this.debug);
229-
}
230-
231-
@Override
232-
public final void debug(String message, Throwable throwable) {
233-
debug(message);
234-
debug(throwable);
235-
}
236-
237-
@Override
238-
public final void debug(Object message, Throwable throwable) {
239-
debug(message);
240-
debug(throwable);
241-
}
242-
243-
@Override
244-
public final void quiet() {
245-
this.quiet.println();
246-
}
247-
248-
@Override
249-
public final void quiet(String message) {
250-
this.quiet.println(message);
251-
}
252-
253-
@Override
254-
public final void quiet(Object message) {
255-
this.quiet.println(message);
256-
}
257-
258-
@Override
259-
public final void quiet(Throwable throwable) {
260-
throwable.printStackTrace(this.quiet);
261-
}
262-
263-
@Override
264-
public final void quiet(String message, Throwable throwable) {
265-
quiet(message);
266-
quiet(throwable);
267-
}
268-
269-
@Override
270-
public final void quiet(Object message, Throwable throwable) {
271-
quiet(message);
272-
quiet(throwable);
273-
}
274-
275-
@Override
276-
public final void info() {
277-
this.info.println();
278-
}
279-
280-
@Override
281-
public final void info(String message) {
282-
this.info.println(message);
283-
}
284-
285-
@Override
286-
public final void info(Object message) {
287-
this.info.println(message);
288-
}
289-
290-
@Override
291-
public final void info(Throwable throwable) {
292-
throwable.printStackTrace(this.info);
293-
}
294-
295-
@Override
296-
public final void info(String message, Throwable throwable) {
297-
info(message);
298-
info(throwable);
299-
}
300-
301-
@Override
302-
public final void info(Object message, Throwable throwable) {
303-
info(message);
304-
info(throwable);
305-
}
306-
307-
@Override
308-
public final void warn() {
309-
this.warn.println();
310-
}
311-
312-
@Override
313-
public final void warn(String message) {
314-
this.warn.println(message);
315-
}
316-
317-
@Override
318-
public final void warn(Object message) {
319-
this.warn.println(message);
320-
}
321-
322-
@Override
323-
public final void warn(Throwable throwable) {
324-
throwable.printStackTrace(this.warn);
325-
}
326-
327-
@Override
328-
public final void warn(String message, Throwable throwable) {
329-
warn(message);
330-
warn(throwable);
331-
}
332-
333-
@Override
334-
public final void warn(Object message, Throwable throwable) {
335-
warn(message);
336-
warn(throwable);
337-
}
338-
339-
@Override
340-
public final void error() {
341-
this.error.println();
342-
}
343-
344-
@Override
345-
public final void error(String message) {
346-
this.error.println(message);
347-
}
348-
349-
@Override
350-
public final void error(Object message) {
351-
this.error.println(message);
352-
}
353-
354-
@Override
355-
public final void error(Throwable throwable) {
356-
throwable.printStackTrace(this.error);
357-
}
358-
359-
@Override
360-
public final void error(String message, Throwable throwable) {
361-
error(message);
362-
error(throwable);
363-
}
364-
365-
@Override
366-
public final void error(Object message, Throwable throwable) {
367-
error(message);
368-
error(throwable);
369-
}
370-
371-
@Override
372-
public final void fatal() {
373-
this.fatal.println();
374-
}
375-
376-
@Override
377-
public final void fatal(String message) {
378-
this.fatal.println(message);
379-
}
380-
381-
@Override
382-
public final void fatal(Object message) {
383-
this.fatal.println(message);
384-
}
385-
386-
@Override
387-
public final void fatal(Throwable throwable) {
388-
throwable.printStackTrace(this.fatal);
389-
}
390-
391-
@Override
392-
public final void fatal(String message, Throwable throwable) {
393-
fatal(message);
394-
fatal(throwable);
395-
}
396-
397-
@Override
398-
public final void fatal(Object message, Throwable throwable) {
399-
fatal(message);
400-
fatal(throwable);
401-
}
402148
}
Lines changed: 39 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1+
/*
2+
* Copyright (c) Forge Development LLC
3+
* SPDX-License-Identifier: LGPL-2.1-only
4+
*/
15
package net.minecraftforge.util.logging;
26

3-
import java.util.function.Consumer;
7+
import java.io.PrintStream;
48

59
final class DefaultLogger extends AbstractLogger {
610
DefaultLogger() {
@@ -19,19 +23,40 @@ final class DefaultLogger extends AbstractLogger {
1923
super(enabled, indentLevel);
2024
}
2125

26+
private final DelegatePrintStream.Capturing debug = new DelegatePrintStream.Capturing(this, Level.DEBUG, System.out::println);
27+
private final DelegatePrintStream.Capturing quiet = new DelegatePrintStream.Capturing(this, Level.QUIET, System.out::println);
28+
private final DelegatePrintStream.Capturing info = new DelegatePrintStream.Capturing(this, Level.INFO, System.out::println);
29+
private final DelegatePrintStream.Capturing warn = new DelegatePrintStream.Capturing(this, Level.WARN, System.out::println);
30+
private final DelegatePrintStream.Capturing error = new DelegatePrintStream.Capturing(this, Level.ERROR, System.err::println);
31+
private final DelegatePrintStream.Capturing fatal = new DelegatePrintStream.Capturing(this, Level.FATAL, System.err::println);
32+
33+
@Override
34+
public PrintStream getDebug() {
35+
return this.debug;
36+
}
37+
38+
@Override
39+
public PrintStream getQuiet() {
40+
return this.quiet;
41+
}
42+
43+
@Override
44+
public PrintStream getInfo() {
45+
return this.info;
46+
}
47+
48+
@Override
49+
public PrintStream getWarn() {
50+
return this.warn;
51+
}
52+
53+
@Override
54+
public PrintStream getError() {
55+
return this.error;
56+
}
57+
2258
@Override
23-
protected Consumer<? super String> loggerFor(Level level) {
24-
switch (level) {
25-
case DEBUG:
26-
case QUIET:
27-
case INFO:
28-
return System.out::println;
29-
case WARN:
30-
case ERROR:
31-
case FATAL:
32-
return System.err::println;
33-
}
34-
35-
throw new IllegalStateException("Unexpected value: " + level);
59+
public PrintStream getFatal() {
60+
return this.fatal;
3661
}
3762
}

0 commit comments

Comments
 (0)