1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.spf4j.test.log;
17
18 import java.util.List;
19 import java.util.function.ToIntFunction;
20 import javax.annotation.Nullable;
21 import javax.annotation.ParametersAreNonnullByDefault;
22 import org.spf4j.log.Level;
23
24
25
26
27 @ParametersAreNonnullByDefault
28 public interface LogConfig {
29
30 @Nullable
31 LogConsumer getLogConsumer(String category, Level level);
32
33 LogConfig add(String category, LogHandler handler, ToIntFunction<List<LogHandler>> whereTo);
34
35 default LogConfig add(final String category, final LogHandler handler) {
36 return add(category, handler, (l) -> 0);
37 }
38
39 LogConfig remove(String category, LogHandler handler);
40
41 default Level minRootLevel() {
42 for (Level l : Level.values()) {
43 if (getLogConsumer("", l) != null) {
44 return l;
45 }
46 }
47 return Level.ERROR;
48 }
49
50
51 }