19
19
import java .util .Map ;
20
20
import java .util .logging .Formatter ;
21
21
import java .util .logging .LogRecord ;
22
+ import oracle .kubernetes .operator .work .Fiber ;
22
23
23
24
/** Custom log formatter to format log messages in JSON format. */
24
25
public class LoggingFormatter extends Formatter {
@@ -27,6 +28,7 @@ public class LoggingFormatter extends Formatter {
27
28
private static final String LOG_LEVEL = "level" ;
28
29
private static final String TIMESTAMP = "timestamp" ;
29
30
private static final String THREAD = "thread" ;
31
+ private static final String FIBER = "fiber" ;
30
32
private static final String SOURCE_CLASS = "class" ;
31
33
private static final String SOURCE_METHOD = "method" ;
32
34
private static final String TIME_IN_MILLIS = "timeInMillis" ;
@@ -100,9 +102,11 @@ public String format(LogRecord record) {
100
102
long rawTime = record .getMillis ();
101
103
final String dateString = dateFormat .format (new Date (rawTime ));
102
104
long thread = Thread .currentThread ().getId ();
105
+ Fiber fiber = Fiber .getCurrentIfSet ();
103
106
104
107
map .put (TIMESTAMP , dateString );
105
108
map .put (THREAD , thread );
109
+ map .put (FIBER , fiber != null ? fiber .toString () : "" );
106
110
map .put (LOG_LEVEL , level );
107
111
map .put (SOURCE_CLASS , sourceClassName );
108
112
map .put (SOURCE_METHOD , sourceMethodName );
0 commit comments