Graylog2 / Graylog2/graylog2-server
What other special fields are there, besides "timestamp", "source", and "message"? The docs don't say
- Dominant language
- Java
- Stars
- 8.1k
- Forks
- 1.1k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 217
Description
Reading through the docs, I didn't see anywhere that calls out the "special" fields.
By playing around with Graylog, I was able to discover that graylog treats the following fields in a special way:
`timestamp`
`source`
`message`
There appears to be some expectations around the format of these fields.
Additionally, if you set these fields in an extractor or pipeline rule, then it will have unexpected consequences.
For example, if I am logging json, and use the json extractor, then having a message such as:
```json
{"timestamp":"2023-11-28T03:30:07.123456-07:00", "level":"INFO", "source":"github.com/veqryn/slog-context/ctx.go:21", "msg":"main message", "message":"contents of message received"}
```
Will result in an error for the timestamp (or if it was a different format, the received timestamp would be overwritten), the source getting overwritten (where previously it was an IP or a pod name or deployment name), and the message changing from the entire string to just `contents of message received`.
I would like two things:
1. This behavior and expectations should be documented.
2. What other "special" fields are there? `level`? `severity`? anything?
## Expected Behavior
More documentation, easily found
## Current Behavior
No documentation easily found
## Your Environment
* Graylog Version: 5.2
* Datanode Version: 5.2
* MongoDB Version: 5.0
* Operating System: Docker on Mac
* Browser version: Chrome
Contributor guide
Assessment
This issue has not been assessed yet.