Enable one or more log handlers in a comma-separated list. 
 
  | 
console, file, syslog
  | 
Indicates whether to log asynchronously to all handlers. 
 
CLI: --log-async 
Env: KC_LOG_ASYNC 
 
 
   | 
true, false (default)
  | 
Indicates whether to log asynchronously to console. 
 
If not set, value from the parent property log-async is used. 
 
CLI: --log-console-async 
Env: KC_LOG_CONSOLE_ASYNC 
 
 
 
Available only when Console log handler is activated 
   | 
true, false (default)
  | 
log-console-async-queue-length 
 
The queue length to use before flushing writing when logging to console. 
 
CLI: --log-console-async-queue-length 
Env: KC_LOG_CONSOLE_ASYNC_QUEUE_LENGTH 
 
 
 
Available only when Console log handler is activated and asynchronous logging is enabled 
  | 
512 (default)
  | 
Enable or disable colors when logging to console. 
 
CLI: --log-console-color 
Env: KC_LOG_CONSOLE_COLOR 
 
 
 
Available only when Console log handler is activated 
   | 
true, false (default)
  | 
The format of unstructured console log entries. 
 
Available only when Console log handler is activated 
   | 
%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n (default)
  | 
Include mdc information in the console log. 
 
If the log-console-format option is specified, this option has no effect. 
 
CLI: --log-console-include-mdc 
Env: KC_LOG_CONSOLE_INCLUDE_MDC 
 
 
 
Available only when Console log handler and MDC logging are activated 
   | 
true (default), false
  | 
log-console-include-trace 
 
Include tracing information in the console log. 
 
If the log-console-format option is specified, this option has no effect. 
 
CLI: --log-console-include-trace 
Env: KC_LOG_CONSOLE_INCLUDE_TRACE 
 
 
 
Available only when Console log handler and Tracing is activated 
  | 
true (default), false
  | 
Set the format of the produced JSON. 
 
Available only when Console log handler is activated and output is set to 'json' 
   | 
default (default), ecs
  | 
Set the log level for the console handler. 
 
It specifies the most verbose log level for logs shown in the output. It respects levels specified in the log-level option, which represents the maximal verbosity for the whole logging system. For more information, check the Logging guide. 
 
CLI: --log-console-level 
Env: KC_LOG_CONSOLE_LEVEL 
 
 
 
Available only when Console log handler is activated 
   | 
off, fatal, error, warn, info, debug, trace, all (default)
  | 
Set the log output to JSON or default (plain) unstructured logging. 
 
CLI: --log-console-output 
Env: KC_LOG_CONSOLE_OUTPUT 
 
 
 
Available only when Console log handler is activated 
   | 
default (default), json
  | 
Set the log file path and filename. 
 
CLI: --log-file 
Env: KC_LOG_FILE 
 
 
 
Available only when File log handler is activated 
   | 
data/log/keycloak.log (default)
  | 
Indicates whether to log asynchronously to file log. 
 
If not set, value from the parent property log-async is used. 
 
CLI: --log-file-async 
Env: KC_LOG_FILE_ASYNC 
 
 
 
Available only when File log handler is activated 
   | 
true, false (default)
  | 
log-file-async-queue-length 
 
The queue length to use before flushing writing when logging to file log. 
 
CLI: --log-file-async-queue-length 
Env: KC_LOG_FILE_ASYNC_QUEUE_LENGTH 
 
 
 
Available only when File log handler is activated and asynchronous logging is enabled 
  | 
512 (default)
  | 
Set a format specific to file log entries. 
 
Available only when File log handler is activated 
   | 
%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n (default)
  | 
Include MDC information in the file log. 
 
If the log-file-format option is specified, this option has no effect. 
 
CLI: --log-file-include-mdc 
Env: KC_LOG_FILE_INCLUDE_MDC 
 
 
 
Available only when File log handler and MDC logging are activated 
   | 
true (default), false
  | 
Include tracing information in the file log. 
 
If the log-file-format option is specified, this option has no effect. 
 
CLI: --log-file-include-trace 
Env: KC_LOG_FILE_INCLUDE_TRACE 
 
 
 
Available only when File log handler and Tracing is activated 
   | 
true (default), false
  | 
Set the format of the produced JSON. 
 
Available only when File log handler is activated and output is set to 'json' 
   | 
default (default), ecs
  | 
Set the log level for the file handler. 
 
It specifies the most verbose log level for logs shown in the output. It respects levels specified in the log-level option, which represents the maximal verbosity for the whole logging system. For more information, check the Logging guide. 
 
CLI: --log-file-level 
Env: KC_LOG_FILE_LEVEL 
 
 
 
Available only when File log handler is activated 
   | 
off, fatal, error, warn, info, debug, trace, all (default)
  | 
Set the log output to JSON or default (plain) unstructured logging. 
 
CLI: --log-file-output 
Env: KC_LOG_FILE_OUTPUT 
 
 
 
Available only when File log handler is activated 
   | 
default (default), json
  | 
The log level of the root category or a comma-separated list of individual categories and their levels. 
 
For the root category, you don’t need to specify a category. 
 
CLI: --log-level 
Env: KC_LOG_LEVEL 
 
 
   | 
[info] (default)
  | 
The log level of a category. 
 
Takes precedence over the log-level option. 
 
CLI: --log-level-<category> 
Env: KC_LOG_LEVEL_<CATEGORY> 
 
 
   | 
off, fatal, error, warn, info, debug, trace, all
  | 
Indicates whether to add information about the realm and other information to the mapped diagnostic context. 
 
All elements will be prefixed with kc. 
 
CLI: --log-mdc-enabled 
Env: KC_LOG_MDC_ENABLED 
 
 
 
Available only when log-mdc preview feature is enabled 
   | 
true, false (default)
  | 
Defines which information should be added to the mapped diagnostic context as a comma-separated list. 
 
CLI: --log-mdc-keys 
Env: KC_LOG_MDC_KEYS 
 
 
 
Available only when MDC logging is enabled 
   | 
realmName, clientId, userId, ipAddress, org, sessionId, authenticationSessionId, authenticationTabId
  | 
Set the app name used when formatting the message in RFC5424 format. 
 
CLI: --log-syslog-app-name 
Env: KC_LOG_SYSLOG_APP_NAME 
 
 
 
Available only when Syslog is activated 
   | 
keycloak (default)
  | 
Indicates whether to log asynchronously to Syslog. 
 
If not set, value from the parent property log-async is used. 
 
CLI: --log-syslog-async 
Env: KC_LOG_SYSLOG_ASYNC 
 
 
 
Available only when Syslog is activated 
   | 
true, false (default)
  | 
log-syslog-async-queue-length 
 
The queue length to use before flushing writing when logging to Syslog. 
 
CLI: --log-syslog-async-queue-length 
Env: KC_LOG_SYSLOG_ASYNC_QUEUE_LENGTH 
 
 
 
Available only when Syslog is activated and asynchronous logging is enabled 
  | 
512 (default)
  | 
log-syslog-counting-framing 
 
If true, the message being sent is prefixed with the size of the message. 
 
If protocol-dependent, the default value is true when log-syslog-protocol is tcp or ssl-tcp, otherwise false. 
 
CLI: --log-syslog-counting-framing 
Env: KC_LOG_SYSLOG_COUNTING_FRAMING 
 
 
 
Available only when Syslog is activated 
  | 
true, false, protocol-dependent (default)
  | 
Set the IP address and port of the Syslog server. 
 
CLI: --log-syslog-endpoint 
Env: KC_LOG_SYSLOG_ENDPOINT 
 
 
 
Available only when Syslog is activated 
   | 
localhost:514 (default)
  | 
Set a format specific to Syslog entries. 
 
Available only when Syslog is activated 
   | 
%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n (default)
  | 
Include MDC information in the Syslog. 
 
If the log-syslog-format option is specified, this option has no effect. 
 
CLI: --log-syslog-include-mdc 
Env: KC_LOG_SYSLOG_INCLUDE_MDC 
 
 
 
Available only when Syslog handler and MDC logging are activated 
   | 
true (default), false
  | 
Include tracing information in the Syslog. 
 
If the log-syslog-format option is specified, this option has no effect. 
 
CLI: --log-syslog-include-trace 
Env: KC_LOG_SYSLOG_INCLUDE_TRACE 
 
 
 
Available only when Syslog handler and Tracing is activated 
   | 
true (default), false
  | 
Set the format of the produced JSON. 
 
Available only when Syslog is activated and output is set to 'json' 
   | 
default (default), ecs
  | 
Set the log level for the Syslog handler. 
 
It specifies the most verbose log level for logs shown in the output. It respects levels specified in the log-level option, which represents the maximal verbosity for the whole logging system. For more information, check the Logging guide. 
 
CLI: --log-syslog-level 
Env: KC_LOG_SYSLOG_LEVEL 
 
 
 
Available only when Syslog is activated 
   | 
off, fatal, error, warn, info, debug, trace, all (default)
  | 
Set the maximum length, in bytes, of the message allowed to be sent. 
 
The length includes the header and the message. If not set, the default value is 2048 when log-syslog-type is rfc5424 (default) and 1024 when log-syslog-type is rfc3164. 
 
CLI: --log-syslog-max-length 
Env: KC_LOG_SYSLOG_MAX_LENGTH 
 
 
 
Available only when Syslog is activated 
   | 
 | 
Set the Syslog output to JSON or default (plain) unstructured logging. 
 
CLI: --log-syslog-output 
Env: KC_LOG_SYSLOG_OUTPUT 
 
 
 
Available only when Syslog is activated 
   | 
default (default), json
  | 
Set the protocol used to connect to the Syslog server. 
 
CLI: --log-syslog-protocol 
Env: KC_LOG_SYSLOG_PROTOCOL 
 
 
 
Available only when Syslog is activated 
   | 
tcp (default), udp, ssl-tcp
  | 
Set the Syslog type used to format the sent message. 
 
CLI: --log-syslog-type 
Env: KC_LOG_SYSLOG_TYPE 
 
 
 
Available only when Syslog is activated 
   | 
rfc5424 (default), rfc3164
  |