/
logging.go
93 lines (86 loc) · 3.74 KB
/
logging.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
package v2
// LoggingConfig for control plane components
type LoggingConfig struct {
// ComponentLevels configures log level for specific envoy components
// .Values.global.proxy.componentLogLevel, overridden by sidecar.istio.io/componentLogLevel
// map of <component>:<level>
// +optional
ComponentLevels ComponentLogLevels `json:"componentLevels,omitempty"`
// LogAsJSON enables JSON logging
// .Values.global.logAsJson
// +optional
LogAsJSON *bool `json:"logAsJSON,omitempty"`
}
// ProxyLoggingConfig configures logging for a component
type ProxyLoggingConfig struct {
// Level the log level
// .Values.global.proxy.logLevel, overridden by sidecar.istio.io/logLevel
// +optional
Level LogLevel `json:"level,omitempty"`
// ComponentLevels configures log level for specific envoy components
// .Values.global.proxy.componentLogLevel, overridden by sidecar.istio.io/componentLogLevel
// map of <component>:<level>
// +optional
ComponentLevels ComponentLogLevels `json:"componentLevels,omitempty"`
}
// ComponentLogLevels represent various logging levels, e.g. trace, debug, etc.
type ComponentLogLevels map[EnvoyComponent]LogLevel
// LogLevel represents the logging level
type LogLevel string
const (
// LogLevelTrace trace logging level
LogLevelTrace LogLevel = "trace"
// LogLevelDebug debug logging level
LogLevelDebug LogLevel = "debug"
// LogLevelInfo info logging level
LogLevelInfo LogLevel = "info"
// LogLevelWarning warning logging level
LogLevelWarning LogLevel = "warn"
// LogLevelWarningProxy proxy warning logging level
LogLevelWarningProxy LogLevel = "warning"
// LogLevelError error logging level
LogLevelError LogLevel = "error"
// LogLevelCritical critical logging level
LogLevelCritical LogLevel = "critical"
// LogLevelOff disable logging
LogLevelOff LogLevel = "off"
)
// EnvoyComponent represents an envoy component to configure logging
type EnvoyComponent string
// not a comprehensive list
const (
EnvoyComponentAdmin EnvoyComponent = "admin"
EnvoyComponentAssert EnvoyComponent = "assert"
EnvoyComponentBacktrace EnvoyComponent = "backtrace"
EnvoyComponentClient EnvoyComponent = "client"
EnvoyComponentConfig EnvoyComponent = "config"
EnvoyComponentConnection EnvoyComponent = "connection"
EnvoyComponentConnHandler EnvoyComponent = "conn_handler"
EnvoyComponentFile EnvoyComponent = "file"
EnvoyComponentFilter EnvoyComponent = "filter"
EnvoyComponentForwardProxy EnvoyComponent = "forward_proxy"
EnvoyComponentGRPC EnvoyComponent = "grpc"
EnvoyComponentHealth EnvoyComponent = "hc"
EnvoyComponentHealthChecker EnvoyComponent = "health_checker"
EnvoyComponentHTTP EnvoyComponent = "http"
EnvoyComponentHTTP2 EnvoyComponent = "http2"
EnvoyComponentInit EnvoyComponent = "init"
EnvoyComponentIO EnvoyComponent = "io"
EnvoyComponentJWT EnvoyComponent = "jwt"
EnvoyComponentLua EnvoyComponent = "lua"
EnvoyComponentMain EnvoyComponent = "main"
EnvoyComponentMisc EnvoyComponent = "misc"
EnvoyComponentQuic EnvoyComponent = "quic"
EnvoyComponentPool EnvoyComponent = "pool"
EnvoyComponentRBAC EnvoyComponent = "rbac"
EnvoyComponentRouter EnvoyComponent = "router"
EnvoyComponentRuntime EnvoyComponent = "runtime"
EnvoyComponentStats EnvoyComponent = "stats"
EnvoyComponentSecret EnvoyComponent = "secret"
EnvoyComponentTap EnvoyComponent = "tap"
EnvoyComponentTesting EnvoyComponent = "testing"
EnvoyComponentTracing EnvoyComponent = "tracing"
EnvoyComponentUpstream EnvoyComponent = "upstream"
EnvoyComponentUDP EnvoyComponent = "udp"
EnvoyComponentWASM EnvoyComponent = "wasm"
)