Pattern not working

I’m trying to extract “request_time” “upstream_response_time” and “tracePath” using patterns for the logs below. However, I can only see IP, status .uri, and method

What are my doing wrong here. I don’t know how to write regex :frowning:

body:
10.42.213.243 - - [20/Dec/2023:12:29:34.079] “GET /health HTTP/1.1” 200 266 “-” “Java/11.0.4” [request_time=0.003][upstream_response_time=0.003][traceId=3E1D793DE1BA4FE29FC18FA203E46][tracePath=core,multiplexer]

{k8s_container_name=“$”}| json | line_format “{{.body}}” | pattern <ip> <_> <_> <_> "<method> <uri> <_>" <status> <_> <_> <_> <[request_time=<[request_time_val>][upstream_response_time=<upstream_response_time_val>][traceId=<trace_id_val>][tracePath=<trace_path_val>]> <_>

Looking a bit better with
| json | line_format “{{.body}}” | pattern <ip> <_> <_> <_> "<method> <uri> <_>" <status> <_> <_> <_> [<request_time>][<upstream_response_time>][<traceId>][<tracePath>] <_>

However, I’m still getting the extracted field as below. I only need the values

request_time request_time=0.002
upstream_response_time=0.002

Sorted with pattern
| json | line_format “{{.body}}” | pattern <ip> <_> <_> <_> "<method> <uri> <_>" <status> <_> <_> <_> [request_time=<request_time_val>][upstream_response_time=<upstream_response_time_val>][<traceId>][tracePath=<tracePath_val>]