@@ -20,20 +20,18 @@ public final class JsonbEncoder extends EncoderBase<ILoggingEvent> {
20
20
private static final byte [] EMPTY_BYTES = {};
21
21
private final JsonStream json ;
22
22
private final Map <String , String > customFieldsMap = new HashMap <>();
23
- private PropertyNames properties ;
24
- private DateTimeFormatter formatter ;
25
-
23
+ private final PropertyNames properties ;
26
24
private final ThrowableHandlingConverter throwableConverter ;
27
25
26
+ private DateTimeFormatter formatter ;
28
27
private TimeZone timeZone = TimeZone .getDefault ();
29
-
30
28
/** Null implies default of ISO_OFFSET_DATE_TIME */
31
29
private String timestampPattern ;
32
-
33
30
private int fieldExtra ;
34
31
35
32
public JsonbEncoder () {
36
33
this .json = JsonStream .builder ().build ();
34
+ this .properties =json .properties ("@timestamp" , "level" , "logger" , "message" , "thread" , "stack_trace" );
37
35
38
36
final var converter = new ShortenedThrowableConverter ();
39
37
converter .setMaxDepthPerThrowable (3 );
@@ -42,13 +40,11 @@ public JsonbEncoder() {
42
40
de .setTargetLength (20 );
43
41
converter .setClassNameAbbreviator (de );
44
42
converter .setRootCauseFirst (true );
45
- throwableConverter = converter ;
43
+ this . throwableConverter = converter ;
46
44
}
47
45
48
46
@ Override
49
47
public void start () {
50
- properties =
51
- json .properties ("@timestamp" , "level" , "logger" , "message" , "thread" , "stack_trace" );
52
48
formatter = TimeZoneUtils .formatter (timestampPattern , timeZone .toZoneId ());
53
49
fieldExtra =
54
50
customFieldsMap .entrySet ().stream ()
@@ -82,8 +78,7 @@ public byte[] encode(ILoggingEvent event) {
82
78
final var threadName = event .getThreadName ();
83
79
final var message = event .getFormattedMessage ();
84
80
final var loggerName = event .getLoggerName ();
85
- final int bufferSize =
86
- 100 + extra + fieldExtra + message .length () + threadName .length () + loggerName .length ();
81
+ final int bufferSize = 100 + extra + fieldExtra + message .length () + threadName .length () + loggerName .length ();
87
82
final var outputStream = new ByteArrayOutputStream (bufferSize );
88
83
89
84
try (var writer = json .writer (outputStream )) {
@@ -98,23 +93,18 @@ public byte[] encode(ILoggingEvent event) {
98
93
writer .value (message );
99
94
writer .name (4 );
100
95
writer .value (threadName );
101
-
102
96
if (!stackTraceBody .isEmpty ()) {
103
97
writer .name (5 );
104
98
writer .value (stackTraceBody );
105
99
}
106
- customFieldsMap .forEach (
107
- (k , v ) -> {
108
- writer .name (k );
109
- writer .value (v );
110
- });
111
- event
112
- .getMDCPropertyMap ()
113
- .forEach (
114
- (k , v ) -> {
115
- writer .name (k );
116
- writer .value (v );
117
- });
100
+ customFieldsMap .forEach ((k , v ) -> {
101
+ writer .name (k );
102
+ writer .value (v );
103
+ });
104
+ event .getMDCPropertyMap ().forEach ((k , v ) -> {
105
+ writer .name (k );
106
+ writer .value (v );
107
+ });
118
108
writer .endObject ();
119
109
writer .writeNewLine ();
120
110
}
0 commit comments