Document updated on Jan 30, 2019
By default, when KrakenD starts all the log events are sent to the standard output using the basic logger capabilities of the Lura Project. The reporting level, in that case, is DEBUG
and adds no prefix to the log lines.
Different logging components allow you to extend the logging functionality, such as sending the events to the syslog, choosing the verbosity level, or use the Graylog Extended Log Format (GELF).
In addition to this, a lot of exporters are available to send your logs out (see Telemetry)
gologging
.The component gologging
extends the default logging capabilities with the following capabilities:
gologging
To enjoy the extended logging capabilities the component needs to be added in the krakend.json
configuration. Add its namespace in the extra_config
at the root level:
{
"version": 2,
"extra_config": {
"github_com/devopsfaith/krakend-gologging": {
"level": "INFO",
"prefix": "[KRAKEND]",
"syslog": true,
"stdout": true,
"format": "custom",
"custom_format": "%{message}"
}
}
The snippet above shows the four options you can configure, explained below.
Define the severity you would like to see in the logs with level
. The recognized options from more to less verbosity are:
DEBUG
INFO
WARNING
ERROR
CRITICAL
For each log event triggered, the output can write to the syslog, the stdout, or both. The accepted values are a boolean. When true, the log writes in the selected target:
"syslog": true
"stdout": true
Besides, you might want to choose to add a string to every logged line, so you can quickly filter messages with external tools later.
"prefix": "[ANY STRING]"
If you want to follow other patterns for logging, you’re able to.
"format": "custom"
The valid formats are:
default
logstash
custom
If you select the custom
format, you’ll be able to use the custom_format
field:
"custom_format": "%{message}"
The pattern to use is the same as the go-logging library
If you want to log using the Logstash standard via stdout, you have to add the krakend-logstash
integration in the
root level of your krakend.json
, inside the extra_config
section. The gologging
needs to be enabled too (but the format should be default
).
For instance:
"extra_config": {
"github_com/devopsfaith/krakend-logstash": {
"enabled": true
},
"github_com/devopsfaith/krakend-gologging": {
"level": "INFO",
"prefix": "[KRAKEND]",
"syslog": false,
"stdout": true
}
}
The documentation is only a piece of the help you can get! Whether you are looking for Open Source or Enterprise support, see more support channels that can help you.