kibana/docs/settings/logging-settings.asciidoc
Christiane (Tina) Heiligers bd3f30f1bd
[DOCS] Adds user-facing docs for the new KP logging configuration (#94993) (#95803)
Co-authored-by: Lisa Cawley <lcawley@elastic.co>
# Conflicts:
#	docs/migration/migrate_8_0.asciidoc
2021-03-30 11:16:48 -04:00

174 lines
3.9 KiB
Plaintext

[[logging-settings]]
=== Logging settings in {kib}
++++
<titleabbrev>Logging settings</titleabbrev>
++++
Compatibility with the legacy logging system is assured until the end of the `v7` version.
All log messages handled by `root` context (default) are forwarded to the legacy logging service.
The logging configuration is validated against the predefined schema and if there are
any issues with it, {kib} will fail to start with the detailed error message.
NOTE: When you switch to the new logging configuration, you will start seeing duplicate log entries in both formats.
These will be removed when the `default` appender is no longer required.
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).