log:
format: gelf
Logging
Heimdall logs concern everything that happens to Heimdall itself (startup, configuration, events, shutdown, and so on). Logs are written to stdout by default in text format.
Configuration
Logging configuration can be adjusted in the log
property of heimdall’s configuration and supports following properties.
format
: string (optional)With
text
andgelf
being the available formats.text
is the default format. Andgelf
defines a JSON format adhering to GELF.Usage of text
(default) format is not recommended for production deployments as it requires more computational resources and is hence slow.Example 1. Configuring logging to emit logs using GELD format.level
: string (optional)Following log levels are available:
trace
,debug
,info
,warn
,error
,fatal
,panic
anddisabled
. The last one effectively disables logging. You usually do not want to do this. By default, the level is set toerror
.debug
andtrace
log levels are not meant for production as setting log level to one of these will result in a high log verbosity and also affect performance pretty much. Both are only meant for setup analysis and debugging!trace
log level will also dump all incoming and outgoing HTTP requests and responses, as well as the contents of objects used in templates. That dump is unedited. That means sensitive data will be available in logs.Due to some limitations of the GRPC framework capabilities, setting log level to trace
will not dump GRPC requests and responses. If you need these for analysis purposes (e.g. when debugging the integration with envoy proxy), you’ll have to setGODEBUG
as well as theGRPC_GO_LOG_VERBOSITY_LEVEL
andGRPC_GO_LOG_SEVERITY_LEVEL
environment variables.Example 2. Configuring logging to emit logs in debug level.log: level: debug
Last updated on Aug 25, 2023