173 lines
3.9 KiB
Text
173 lines
3.9 KiB
Text
[[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).
|