16.3. 为每个处理器指定日志级别
log-level 属性指定所选类别的全局根日志级别和级别。但是,需要更精细的日志级别来满足现代应用的要求。
要为特定处理程序设置日志级别,格式为 log-<handler>-level (其中 & lt;handler > 是可用的日志处理程序)。
这意味着日志级别设置的属性如下:
-
log-console-level- Console log handler -
log-file-level- File log handler -
log-syslog-level- Syslog 日志处理程序
log-<handler>-level 属性仅在启用了特定日志处理程序时才可用。以下日志处理程序设置中的更多信息。
只有 第 16.1.1 节 “日志级别” 部分指定的日志级别才会被接受,且必须为小写。尚不支持为日志处理程序指定特定的类别。
16.3.1. 常规原则 复制链接链接已复制到粘贴板!
需要了解,为每个特定处理程序设置日志级别 不会覆盖 log-level 属性中指定的根级别。日志处理程序遵循 root 日志级别,这代表了整个日志记录系统的最大详细程度。这意味着单个日志处理程序可以配置为小于根日志记录器,但不能配置更多。
具体来说,当为处理程序定义了任意日志级别时,并不表示输出中会显示带有日志级别的日志记录。在这种情况下,还必须评估 root 日志级别。日志级别为 root 日志级别 提供限制,日志处理程序的默认日志级别 都是 无限制的。
16.3.2. 例子 复制链接链接已复制到粘贴板!
示例:对文件处理程序进行 debug,但 console 处理程序的信息:
bin/kc.[sh|bat] start --log=console,file --log-level=debug --log-console-level=info
bin/kc.[sh|bat] start --log=console,file --log-level=debug --log-console-level=info
root 日志级别设置为 debug,因此每个日志处理程序都会继承值 - 因此,文件日志处理程序会继承文件日志处理程序。要 在控制台中隐藏调试 记录,我们需要将 console 处理程序的最小(最低严重)级别设置为 info。
示例: 警告 所有处理程序,但对文件处理程序进行 debug :
bin/kc.[sh|bat] start --log=console,file,syslog --log-level=debug --log-console-level=warn --log-syslog-level=warn
bin/kc.[sh|bat] start --log=console,file,syslog --log-level=debug --log-console-level=warn --log-syslog-level=warn
root 级别必须设置为最详细的必要级别(本例中为debug ),并且必须相应地修改其他日志处理程序。
示例:所有处理程序的信息,但对 Syslog 处理程序进行 debug+org.keycloak.events:trace :
bin/kc.[sh|bat] start --log=console,file,syslog --log-level=debug,org.keycloak.events:trace, --log-syslog-level=trace --log-console-level=info --log-file-level=info
bin/kc.[sh|bat] start --log=console,file,syslog --log-level=debug,org.keycloak.events:trace, --log-syslog-level=trace --log-console-level=info --log-file-level=info
要查看 org.keycloak.events:trace,必须为 Syslog 处理程序设置 trace 级别。