搜索

13.3. 控制台日志处理程序

download PDF

控制台日志处理程序默认为启用,为控制台提供无结构日志消息。

13.3.1. 配置控制台日志格式

Red Hat build of Keycloak 使用基于模式的日志格式器,它默认生成人类可读的文本日志。

这些行的日志记录格式模板可以在 root 级别应用。默认格式模板为:

  • %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c](%t)%s%e%n

格式字符串支持下表中的符号:

符号概述描述

%%

%

呈现简单的%字符。

%c

类别

呈现日志类别名称。

%d{xxx}

Date

使用由 java.text.SimpleDateFormat定义的给定日期格式 string.String 语法呈现日期

%e

例外

呈现出的异常。

%h

主机名

呈现简单的主机名。

%H

合格主机名

根据操作系统配置,呈现的完全限定主机名可能与简单主机名相同。

%i

进程 ID

呈现当前进程 PID。

%m

完整消息

呈现日志消息和异常(如果抛出)。

%n

newline

呈现特定于平台的行分隔符字符串。

%N

进程名称

呈现当前进程的名称。

%p

级别

呈现消息的日志级别。

%r

相对时间

以毫秒为单位呈现应用程序日志开始的时间。

%s

简单消息

仅呈现没有异常追踪的日志消息。

%t

线程名称

呈现线程名称。

%T{id}

线程 ID

呈现线程 ID。

%z{<zone name>}

timezone

将日志输出的时区设置为 <zone name>。

%L

行号

呈现日志消息的行号。

13.3.2. 设置日志记录格式

要为日志记录行设置日志记录格式,请执行以下步骤:

  1. 使用上表构建您需要的格式模板。
  2. 输入以下命令:

    bin/kc.[sh|bat] start --log-console-format="'<format>'"

请注意,在调用包含特殊 shell 字符的命令时,您需要使用 CLI 来转义字符 因此,请考虑在配置文件中设置它。

示例:缩写完全限定类别名称

bin/kc.[sh|bat] start --log-console-format="'%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c{3.}] (%t) %s%e%n'"

本例通过将类别名称缩写为三个字符,方法是在模板中设置 [%c{3.}],而不是默认的 [%c]

13.3.3. 配置 JSON 或普通控制台日志记录

默认情况下,控制台日志处理程序会将普通非结构化数据记录到控制台。要使用结构化 JSON 日志输出,请输入以下命令:

bin/kc.[sh|bat] start --log-console-output=json

日志消息示例

{"timestamp":"2022-02-25T10:31:32.452+01:00","sequence":8442,"loggerClassName":"org.jboss.logging.Logger","loggerName":"io.quarkus","level":"INFO","message":"Keycloak 18.0.0-SNAPSHOT on JVM (powered by Quarkus 2.7.2.Final) started in 3.253s. Listening on: http://0.0.0.0:8080","threadName":"main","threadId":1,"mdc":{},"ndc":"","hostName":"host-name","processName":"QuarkusEntryPoint","processId":36946}

使用 JSON 输出时,会禁用颜色,由 --log-console-format 设置的格式设置将不适用。

要使用非结构化日志记录,请输入以下命令:

bin/kc.[sh|bat] start --log-console-output=default

日志消息示例:

2022-03-02 10:36:50,603 INFO  [io.quarkus] (main) Keycloak 18.0.0-SNAPSHOT on JVM (powered by Quarkus 2.7.2.Final) started in 3.615s. Listening on: http://0.0.0.0:8080

13.3.4. colors

默认禁用无结构日志的带颜色控制台日志输出。颜色可能会提高可读性,但可能会在日志发送到外部日志聚合系统时导致问题。要启用或禁用颜色编码的控制台日志输出,请输入以下命令:

bin/kc.[sh|bat] start --log-console-color=<false|true>
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.