/
ecs_keys.go
108 lines (87 loc) · 2.78 KB
/
ecs_keys.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
package ecs
// Encoding keys used for ECS compliance:
// https://www.elastic.co/guide/en/ecs/current/ecs-base.html
const (
// Internal base fields to be used by the logger
FieldTimestamp = "@timestamp"
FieldMessage = "message"
FieldLabels = "labels"
FieldTags = "tags"
// Internal label fields to be used by the logger
FieldLabelApplication = "application"
FieldLabelService = "service"
FieldLabelEnvironment = "environment"
FieldLabelLibVersion = "lib_version"
FieldLabelLibLanguage = "lib_language"
FieldLabelPodName = "pod_name"
FieldLabelNodeName = "node_name"
FieldLogger = "log.logger"
FieldLogLevel = "log.level"
// Public fields to be available for consumers
FieldServiceName = "service.name"
FieldErrorMessage = "error.message"
FieldStackTrace = "error.stack_trace"
FieldErrorType = "error.type"
FieldEventAction = "event.action"
FieldEventKind = "event.kind"
FieldEventCategory = "event.category"
FieldEventModule = "event.module"
FieldEventType = "event.type"
FieldEventOriginal = "event.original"
FieldEventOutcome = "event.outcome"
FieldTraceID = "trace.id"
FieldHTTPRequestBodyContent = "http.request.body.content"
FieldHTTPRequestMethod = "http.request.method"
FieldHTTPRequestBodyHeaders = "http.request.body.headers"
FieldHTTPRequestReferrer = "http.request.referrer"
FieldHTTPResponseBodyContent = "http.response.body.content"
FieldHTTPResponseStatusCode = "http.response.status_code"
FieldHTTPResponseBodyReferrer = "http.response.body.referrer"
)
func IsECSFieldName(fieldName string) bool {
_, found := ecsKeysMap[fieldName]
return found
}
// Internal lookup map for ECS keys on log fields
var ecsKeysMap = map[string]struct{}{
FieldTags: {},
FieldLogger: {},
FieldLogLevel: {},
FieldLabelApplication: {},
FieldLabelService: {},
FieldLabelEnvironment: {},
FieldLabelLibVersion: {},
FieldLabelLibLanguage: {},
FieldLabelPodName: {},
FieldLabelNodeName: {},
FieldServiceName: {},
FieldErrorMessage: {},
FieldStackTrace: {},
FieldErrorType: {},
FieldEventAction: {},
FieldEventCategory: {},
FieldEventModule: {},
FieldEventType: {},
FieldEventOriginal: {},
FieldEventOutcome: {},
FieldTraceID: {},
FieldHTTPRequestBodyContent: {},
FieldHTTPRequestMethod: {},
FieldHTTPRequestBodyHeaders: {},
FieldHTTPRequestReferrer: {},
FieldHTTPResponseBodyContent: {},
FieldHTTPResponseStatusCode: {},
FieldHTTPResponseBodyReferrer: {},
}
const (
LogPrefix = "log."
LogBaseLevelKey = "log"
HTTPPrefix = "http."
HTTPBaseLevelKey = "http"
EventPrefix = "event."
EventBaseLevelKey = "event"
ErrorPrefix = "error."
ErrorBaseLevelKey = "error"
TracePrefix = "trace."
TraceBaseLevelKey = "trace"
)