1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j;
18
19 import org.apache.logging.log4j.message.StructuredDataMessage;
20 import org.apache.logging.log4j.spi.AbstractLogger;
21 import org.apache.logging.log4j.spi.AbstractLoggerWrapper;
22
23
24
25
26 public final class EventLogger {
27
28 private static final String NAME = "EventLogger";
29
30
31
32
33 public static final Marker EVENT_MARKER = MarkerManager.getMarker("EVENT");
34
35 private static final String FQCN = EventLogger.class.getName();
36
37 private static AbstractLoggerWrapper loggerWrapper;
38
39 static {
40 final Logger eventLogger = LogManager.getLogger(NAME);
41 if (!(eventLogger instanceof AbstractLogger)) {
42 throw new LoggingException("Logger returned must be based on AbstractLogger");
43 }
44 loggerWrapper = new AbstractLoggerWrapper((AbstractLogger) eventLogger, NAME, null);
45 }
46
47
48 private EventLogger() {
49 }
50
51
52
53
54
55 public static void logEvent(final StructuredDataMessage msg) {
56 loggerWrapper.log(EVENT_MARKER, FQCN, Level.OFF, msg, null);
57 }
58
59
60
61
62
63
64 public static void logEvent(final StructuredDataMessage msg, final Level level) {
65 loggerWrapper.log(EVENT_MARKER, FQCN, level, msg, null);
66 }
67 }