master
yaml 43 lines 917 Bytes
Raw
1 # Test logfmt pattern parsing
2 pattern: logfmt
3
4 inject:
5 - key: SOURCE
6 value: "logfmt-parser"
7
8 rewrite:
9 # Convert level to uppercase
10 - key: LEVEL
11 match: "(.+)"
12 value: "${1^^}" # Bash-style uppercase - may not work
13
14 # Alternative uppercase conversion
15 - key: LEVEL_UPPER
16 value: "${LEVEL}"
17 inject: yes
18
19 # Extract duration and convert to ms
20 - key: DURATION
21 match: "(\\d+)ms"
22 value: "${1}"
23
24 - key: DURATION
25 match: "(\\d+)s"
26 value: "${1}000"
27
28 # Build structured message
29 - key: STRUCTURED_MSG
30 value: "method=${METHOD} path=${PATH} status=${STATUS} duration=${DURATION}ms"
31 inject: yes
32
33 rename:
34 - old_key: MSG
35 new_key: MESSAGE
36 - old_key: ERR
37 new_key: ERROR
38 - old_key: REQ_ID
39 new_key: REQUEST_ID
40
41 filter:
42 include: "MESSAGE|ERROR|LEVEL|STATUS|METHOD|PATH|DURATION|STRUCTURED_MSG|LEVEL_UPPER|SOURCE|REQUEST_ID"
43 exclude: "password|token|secret"