Skip to content

Commit 62b2ec1

Browse files
committed
Legger til at man må konfigurere at man skal spore bruker, som default er disabled
1 parent d370f00 commit 62b2ec1

File tree

2 files changed

+28
-11
lines changed

2 files changed

+28
-11
lines changed

log/main/no/nav/tilleggsstonader/libs/log/filter/LogFilter.kt

+22-9
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,20 @@ import org.slf4j.LoggerFactory
1515
import org.slf4j.MDC
1616
import java.io.EOFException
1717

18-
class LogFilter : HttpFilter() {
18+
/**
19+
* @param sporBruker settes hvis vi skal sette cookie som sporer brukeren for å hjelpe ved feilsøing
20+
*/
21+
class LogFilter(val sporBruker: Boolean) : HttpFilter() {
1922

2023
override fun doFilter(
2124
request: HttpServletRequest,
2225
response: HttpServletResponse,
2326
filterChain: FilterChain,
2427
) {
25-
val userId = resolveUserId(request)
26-
if (userId.isNullOrEmpty()) {
27-
// user-id tracking only works if the client is stateful and supports cookies.
28-
// if no user-id is found, generate one for any following requests but do not use it on the
29-
// current request to avoid generating large numbers of useless user-ids.
30-
generateUserIdCookie(response)
31-
}
28+
sporBruker(request, response)
3229
val consumerId = request.getHeader(NavHttpHeaders.NAV_CONSUMER_ID.asString())
3330
val callId = resolveCallId(request)
3431
MDC.put(MDC_CALL_ID, callId)
35-
MDC.put(MDC_USER_ID, userId)
3632
MDC.put(MDC_CONSUMER_ID, consumerId)
3733
MDC.put(MDC_REQUEST_ID, resolveRequestId(request))
3834
response.setHeader(NavHttpHeaders.NAV_CALL_ID.asString(), callId)
@@ -47,6 +43,23 @@ class LogFilter : HttpFilter() {
4743
}
4844
}
4945

46+
private fun sporBruker(
47+
request: HttpServletRequest,
48+
response: HttpServletResponse,
49+
) {
50+
if (!sporBruker) {
51+
return
52+
}
53+
val userId = resolveUserId(request)
54+
if (userId.isNullOrEmpty()) {
55+
// user-id tracking only works if the client is stateful and supports cookies.
56+
// if no user-id is found, generate one for any following requests but do not use it on the
57+
// current request to avoid generating large numbers of useless user-ids.
58+
generateUserIdCookie(response)
59+
}
60+
MDC.put(MDC_USER_ID, userId)
61+
}
62+
5063
private fun filterWithErrorHandling(
5164
request: HttpServletRequest,
5265
response: HttpServletResponse,

log/main/no/nav/tilleggsstonader/libs/log/filter/LogFilterConfiguration.kt

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,24 @@
11
package no.nav.tilleggsstonader.libs.log.filter
22

33
import org.slf4j.LoggerFactory
4+
import org.springframework.beans.factory.annotation.Value
45
import org.springframework.boot.web.servlet.FilterRegistrationBean
56
import org.springframework.context.annotation.Bean
67
import org.springframework.context.annotation.Configuration
78

89
@Configuration
9-
class LogFilterConfiguration {
10+
class LogFilterConfiguration(
11+
@Value("\${log.sporBruker:false}")
12+
private val sporBruker: Boolean,
13+
) {
1014

1115
private val logger = LoggerFactory.getLogger(javaClass)
1216

1317
@Bean
1418
fun logFilter(): FilterRegistrationBean<LogFilter> {
1519
logger.info("Registering LogFilter filter")
1620
val filterRegistration = FilterRegistrationBean<LogFilter>()
17-
filterRegistration.filter = LogFilter()
21+
filterRegistration.filter = LogFilter(sporBruker = sporBruker)
1822
filterRegistration.order = 1
1923
return filterRegistration
2024
}

0 commit comments

Comments
 (0)