@@ -106,16 +106,28 @@ internal class RequestResponseLoggingHook private constructor(
106
106
val randomDouble = random.current().nextDouble()
107
107
val includeBody = randomDouble < sampling
108
108
109
- val additionalTags: MutableSet <Tag > = mutableSetOf (
109
+ var additionalTags: Set <Tag > = setOf (
110
110
" response_code" to statusCode,
111
111
" response_time_millis" to elapsed.toMillis(),
112
- )
112
+ )
113
+
114
+ val error = error?.unwrap()
115
+ var level = Level .INFO
116
+
117
+ if (error != null ) {
118
+ // Log with the exception and smart tags applied on error.
119
+ level = mapperResolver.mapperFor(error)?.loggingLevel(error) ? : Level .ERROR
120
+ additionalTags = additionalTags + SmartTagsThreadLocalHandler .peekThreadLocalSmartTags()
121
+ }
113
122
114
123
requestResponseLoggedCapture.onLogged()
115
124
116
- val error = error?.unwrap()
117
- fun buildDescriptionImpl (): Any? {
118
- return buildDescription(
125
+ logger.log(
126
+ level = level,
127
+ th = error,
128
+ tags = additionalTags.toTypedArray(),
129
+ ) {
130
+ buildDescription(
119
131
caller = caller,
120
132
httpCall = httpCall,
121
133
elapsedToString = elapsedToString,
@@ -124,24 +136,6 @@ internal class RequestResponseLoggingHook private constructor(
124
136
includeBody = includeBody,
125
137
)
126
138
}
127
-
128
- if (error != null ) {
129
- // Log with the exception and smart tags applied on error.
130
- val level = mapperResolver.mapperFor(error)?.loggingLevel(error) ? : Level .ERROR
131
-
132
- logger.log(
133
- level = level,
134
- th = error,
135
- tags = (SmartTagsThreadLocalHandler .peekThreadLocalSmartTags() + additionalTags).toTypedArray(),
136
- message = ::buildDescriptionImpl,
137
- )
138
- } else {
139
- logger.log(
140
- level = Level .INFO ,
141
- tags = additionalTags.toTypedArray(),
142
- message = ::buildDescriptionImpl,
143
- )
144
- }
145
139
}
146
140
147
141
private fun buildDescription (
0 commit comments