Keycloak 用户联合提供程序模块日志记录级别

Posted

技术标签:

【中文标题】Keycloak 用户联合提供程序模块日志记录级别【英文标题】:Keycloak User Federation Provider Module Logging Level 【发布时间】:2016-02-06 13:45:17 【问题描述】:

我使用 Keycloak 1.5.0 指南开发了我的自定义用户联合提供程序,并将其安装为 jboss 模块下

com.my.module.userfederation

在我的项目中,我使用带有 log4j 实现的 slf4j 外观定义了我的 Logger。

出于测试原因,我需要将日志级别设置为 DEBUG,因此我进入了 Wildfly 控制台,然后在配置/日志记录页面中添加了一个新类别_

category:  com.my.module.userfederation
Log LEVEL : DEBUG

在standalone.xml中

 <logger category="com.my.module.userfederation">
            <level name="DEBUG"/>
  </logger>

但是当我运行我的应用程序时,日志控制台上没有任何更改...因为日志级别始终是 INFO。

我猜这取决于模块安装格式...那我该如何正确设置我的日志级别?

【问题讨论】:

您的部署中有 log4j 配置文件吗? 不只是 slf4j 作为 pom 提供的依赖 我要在这里表明我的无知,但是你运行的是什么版本的 WildFly? FWIW 您不需要包含 slf4j 或 slf4j 活页夹。 【参考方案1】:

没有将我的提供程序安装为 jboss 模块,因为我正在独立运行服务器并从文件系统加载它们。你可以编辑$keycloak.root.dir/standalone/configuration下的standalone.xml:

        <console-handler name="CONSOLE">
            <level name="FINEST"/>
            <formatter>
                <named-formatter name="COLOR-PATTERN"/>
            </formatter>
        </console-handler>

由于您使用的是slf4j,如果您还没有使用,您可能需要将org.slf4j:slf4j-jdk14library 添加到您的项目中,以使slf4j 在后台使用jul。这对我有用。

【讨论】:

OMG,TRACE 级别只需 5 分钟即可显示所有启动日志行。

以上是关于Keycloak 用户联合提供程序模块日志记录级别的主要内容,如果未能解决你的问题,请参考以下文章

将 Keycloak 用作 WSO2 身份服务器的联合身份提供者时出现 SSL 错误

如何在 Keycloak 中创建客户端以与 AWS Cognito 身份联合使用

在 Keycloak SPI/Provider 中获取当前用户访问令牌(初始登录时)

KeyCloak 应该用作我的用户的身份验证服务器吗?

Keycloak把登录事件记录到日志文件

C++日志记录类以及日志记录程序