* remove kbn-legacy-logging package
* remove legacy service
* remove legacy appender
* remove LegacyObjectToConfigAdapter
* gix types
* remove @hapi/good / @hapi/good-squeeze / @hapi/podium
* remove `default` appender validation for `root` logger
* remove old config key from kibana-docker
* fix FTR config
* fix dev server
* remove reference from readme
* fix unit test
* clean CLI args and remove quiet option
* fix type
* fix status test config
* remove from test config
* fix snapshot
* use another regexp
* update generated doc
* fix createRootWithSettings
* fix some integration tests
* another IT fix
* yet another IT fix
* (will be reverted) add assertion for CI failure
* Revert "(will be reverted) add assertion for CI failure"
This reverts commit 78d5560f9e
.
* switch back to json layout for test
* remove legacy logging config deprecations
* address some review comments
* update documentation
* update kibana.yml config examples
* add config example for `metrics.ops`
Co-authored-by: Tyler Smalley <tyler.smalley@elastic.co>
175 lines
4.2 KiB
Text
175 lines
4.2 KiB
Text
[[logging-settings]]
|
|
=== Logging settings in {kib}
|
|
++++
|
|
<titleabbrev>Logging settings</titleabbrev>
|
|
++++
|
|
|
|
{kib} relies on three high-level entities to set the logging service: appenders, loggers, and root.
|
|
|
|
- Appenders define where log messages are displayed (stdout or console) and their layout (`pattern` or `json`). They also allow you to specify if you want the logs stored and, if so, where (file on the disk).
|
|
- Loggers define what logging settings, such as the level of verbosity and the appenders, to apply to a particular context. Each log entry context provides information about the service or plugin that emits it and any of its sub-parts, for example, `metrics.ops` or `elasticsearch.query`.
|
|
- Root is a logger that applies to all the log entries in {kib}.
|
|
|
|
Refer to the <<log-settings-examples, examples>> for common configuration use cases. To learn more about possible configuration values, go to {kibana-ref}/logging-service.html[{kib}'s Logging service].
|
|
|
|
[[log-settings-examples]]
|
|
==== Examples
|
|
Here are some configuration examples for the most common logging use cases:
|
|
|
|
[[log-to-file-example]]
|
|
===== Log to a file
|
|
|
|
Log the default log format to a file instead of to stdout (the default).
|
|
|
|
[source,yaml]
|
|
----
|
|
logging:
|
|
appenders:
|
|
file:
|
|
type: file
|
|
fileName: /var/log/kibana.log
|
|
layout:
|
|
type: pattern
|
|
root:
|
|
appenders: [default, file]
|
|
----
|
|
|
|
[[log-in-json-ECS-example]]
|
|
===== Log in JSON format
|
|
|
|
Log the default log format to JSON layout instead of pattern (the default).
|
|
With `json` layout, log messages will be formatted as JSON strings in https://www.elastic.co/guide/en/ecs/current/ecs-reference.html[ECS format] that includes a timestamp, log level, logger, message text and any other metadata that may be associated with the log message itself.
|
|
|
|
[source,yaml]
|
|
----
|
|
logging:
|
|
appenders:
|
|
json-layout:
|
|
type: console
|
|
layout:
|
|
type: json
|
|
root:
|
|
appenders: [default, json-layout]
|
|
----
|
|
|
|
[[log-with-meta-to-stdout]]
|
|
===== Log with meta to stdout
|
|
|
|
Include `%meta` in your pattern layout:
|
|
|
|
[source,yaml]
|
|
----
|
|
logging:
|
|
appenders:
|
|
console-meta:
|
|
type: console
|
|
layout:
|
|
type: pattern
|
|
pattern: "[%date] [%level] [%logger] [%meta] %message"
|
|
root:
|
|
appenders: [default, console-meta]
|
|
----
|
|
|
|
[[log-elasticsearch-queries]]
|
|
===== Log {es} queries
|
|
|
|
[source,yaml]
|
|
--
|
|
logging:
|
|
appenders:
|
|
console_appender:
|
|
type: console
|
|
layout:
|
|
type: pattern
|
|
highlight: true
|
|
root:
|
|
appenders: [default, console_appender]
|
|
level: warn
|
|
loggers:
|
|
- name: elasticsearch.query
|
|
level: debug
|
|
--
|
|
|
|
[[change-overall-log-level]]
|
|
===== Change overall log level
|
|
|
|
[source,yaml]
|
|
----
|
|
logging:
|
|
root:
|
|
level: debug
|
|
----
|
|
|
|
[[customize-specific-log-records]]
|
|
===== Customize specific log records
|
|
Here is a detailed configuration example that can be used to configure _loggers_, _appenders_ and _layouts_:
|
|
|
|
[source,yaml]
|
|
----
|
|
logging:
|
|
appenders:
|
|
console:
|
|
type: console
|
|
layout:
|
|
type: pattern
|
|
highlight: true
|
|
file:
|
|
type: file
|
|
fileName: /var/log/kibana.log
|
|
custom:
|
|
type: console
|
|
layout:
|
|
type: pattern
|
|
pattern: "[%date][%level] %message"
|
|
json-file-appender:
|
|
type: file
|
|
fileName: /var/log/kibana-json.log
|
|
layout:
|
|
type: json
|
|
|
|
root:
|
|
appenders: [default, console, file]
|
|
level: error
|
|
|
|
loggers:
|
|
- name: plugins
|
|
appenders: [custom]
|
|
level: warn
|
|
- name: plugins.myPlugin
|
|
level: info
|
|
- name: server
|
|
level: fatal
|
|
- name: optimize
|
|
appenders: [console]
|
|
- name: telemetry
|
|
appenders: [json-file-appender]
|
|
level: all
|
|
- name: metrics.ops
|
|
appenders: [console]
|
|
level: debug
|
|
----
|
|
|
|
Here is what we get with the config above:
|
|
[options="header"]
|
|
|===
|
|
|
|
| Context name | Appenders | Level
|
|
|
|
| root | console, file | error
|
|
|
|
| plugins | custom | warn
|
|
|
|
| plugins.myPlugin | custom | info
|
|
|
|
| server | console, file | fatal
|
|
|
|
| optimize | console | error
|
|
|
|
| telemetry | json-file-appender | all
|
|
|
|
| metrics.ops | console | debug
|
|
|===
|
|
|
|
NOTE: If you modify `root.appenders`, make sure to include `default`.
|
|
|
|
// For more details about logging configuration, refer to the logging system documentation (update to include a link).
|