@@ -44,6 +44,8 @@ public class SeleniumSpanExporter {
4444 private static final ImmutableSet <String > EXCEPTION_ATTRIBUTES =
4545 ImmutableSet .of ("exception.message" , "exception.stacktrace" );
4646 private static final boolean httpLogs = OpenTelemetryTracer .getHttpLogs ();
47+ private static final AttributeKey <String > KEY_SPAN_KIND =
48+ AttributeKey .stringKey (org .openqa .selenium .remote .tracing .AttributeKey .SPAN_KIND .getKey ());
4749
4850 private static String getJsonString (Map <String , Object > map ) {
4951 StringBuilder text = new StringBuilder ();
@@ -61,13 +63,18 @@ public static SpanProcessor getSpanProcessor() {
6163 public CompletableResultCode export (Collection <SpanData > spans ) {
6264 spans .forEach (
6365 span -> {
64- LOG .fine (String .valueOf (span ));
65-
66- String traceId = span .getTraceId ();
67- List <EventData > eventList = span .getEvents ();
66+ if (LOG .isLoggable (Level .FINE )) {
67+ LOG .fine (String .valueOf (span ));
68+ }
6869
6970 Level logLevel = getLogLevel (span );
7071
72+ if (!LOG .isLoggable (logLevel )) {
73+ return ;
74+ }
75+
76+ String traceId = span .getTraceId ();
77+ List <EventData > eventList = span .getEvents ();
7178 eventList .forEach (
7279 event -> {
7380 Map <String , Object > map = new HashMap <>();
@@ -111,17 +118,12 @@ public CompletableResultCode shutdown() {
111118 private static Level getLogLevel (SpanData span ) {
112119 Level level = Level .FINE ;
113120
114- Optional <String > kind =
115- Optional .ofNullable (
116- span .getAttributes ()
117- .get (
118- AttributeKey .stringKey (
119- org .openqa .selenium .remote .tracing .AttributeKey .SPAN_KIND .getKey ())));
120-
121121 if (span .getStatus ().getStatusCode () == StatusCode .ERROR ) {
122122 level = Level .WARNING ;
123- } else {
124- if (httpLogs && kind .isPresent ()) {
123+ } else if (httpLogs ) {
124+ Optional <String > kind = Optional .ofNullable (span .getAttributes ().get (KEY_SPAN_KIND ));
125+
126+ if (kind .isPresent ()) {
125127 String kindValue = kind .get ();
126128 if (Span .Kind .SERVER .name ().equalsIgnoreCase (kindValue )
127129 || Span .Kind .CLIENT .name ().equalsIgnoreCase (kindValue )) {
0 commit comments