我尝试通过 slf4j/logback 管理 Tomcat 的内部日志(commons-daemon.log、localhost_access_log、localhost、catalina 等),主要是为了能够在其上设置滚动文件策略。
我将所需的 jars 放在 Tomcat lib 目录中(jul-to-slf4j-1.7.25.jar、logback-classic-1.2.2.jar、logback-core-1.2.2.jar 和 slf4j-api-1.7.25。罐)。
我也在 Tomcat lib 目录中放了一个非常简单的 logback.xml,只是为了测试:
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug = "true">
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>C:/temp/MyLog.log</file>
<encoder>
<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="FILE" />
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)
在 logging.properties 中,我只放置了以下行:
handlers = org.slf4j.bridge.SLF4JBridgeHandler
Run Code Online (Sandbox Code Playgroud)
我的问题是创建了 MyLog.log 文件,但它似乎只包含通常记录在 localhost.log 文件中的内容。
commons-daemon.log 和 localhost_access_log 像以前一样留在基本的 Tomcat 日志目录中,而 catalina.log、manager.log 和 host-manager.log 根本不在那里。
为了完整起见,我将 Tomcat 作为服务运行,并且在服务的 Java 选项中,我有以下几行:
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=C:\Program Files\Apache Software Foundation\Tomcat 8.5.5\conf\logging.properties
Run Code Online (Sandbox Code Playgroud)
我期待所有日志内容都在我的 MyLog.log …
我正在为 Keycloak 的一个看似简单的问题而苦苦挣扎,在阅读了很多有关该主题的内容后,还没有任何东西能解决我的问题。
问题是我调用带有片段的网址,例如http://hostname:8080/somewebui/#!builder/site.com:manager:manager/1.0.0/hostname=anotherhostname。
# 之后的片段允许我预先填写网站上的字段,以便用户只需单击按钮即可保存数据。
该网站受 Keycloak 保护。
如果我已经登录该网站并调用此 URL,则它可以正常工作,该网站将打开并且所请求的字段已被填充,这是完美的。
相反,如果我尚未登录该网站(最常见的情况),则会显示由 Keycloak 管理的登录页面,要求输入凭据,这是正常的。
但是在我成功输入凭据后,Keycloak 将我重定向到http://hostname:8080/somewebui/,没有片段。
因此,我的问题很简单,我该如何告诉 Keycloak 在登录后保留片段?
先感谢您,
塞布