我们正在使用 cas-client-core-3.3.3.jar 在我们的应用程序中提供单点登录功能,并且我们正在尝试将此jar库日志发布到我们的应用程序日志中。
我们的应用程序是基于weblogic的应用程序,我们使用log4j进行日志记录。
为了在我们的应用程序日志中获取 cas-client-core-3.3.3.jar 日志,我们在log4j.properties中添加了此属性
log4j.logger.org.jasig.cas=DEBUG
但是我们没有得到 org.jasig.cas 类所期望的日志。我在这里附上样本日志,这是预期的
2015-05-13 10:00:17,798 DEBUG [org.jasig.cas.client.validation.Saml11TicketValidator.<constructValidationUrl>] - Placing URL parameters in map.
2015-05-13 10:00:17,801 DEBUG [org.jasig.cas.client.validation.Saml11TicketValidator.<constructValidationUrl>] - Calling template URL attribute map.
2015-05-13 10:00:17,802 DEBUG [org.jasig.cas.client.validation.Saml11TicketValidator.<constructValidationUrl>] - Loading custom parameters from configuration.
2015-05-13 10:00:17,803 DEBUG [org.jasig.cas.client.validation.Saml11TicketValidator.<validate>] - Constructing validation url:
答案 0 :(得分:1)
免责声明:我从未使用过Web Sphere,但在不同的日志记录系统上工作过很多,所以我的回答是基于我在这方面的经验。
首先,cas在引擎盖下使用了slf4j,非常棒。 Slf4j只是一个接口(slf4j-api jar),如果你想将它与log4j一起使用,log4j是对slf4j apis一无所知的日志系统的具体实现,你应该提供一个sfl4j接口的实现,它将调用委托给log4j记录仪。 因此,您还应该在类路径中包含此类适配器以及Here is the link。
现在,如果这不起作用,那么log4j.properties可能没有正确配置,例如,记录器没有任何关联的appender /错误的appender。 我发现检查这个问题的最佳方法就是在记录器的调用(在cas库中)放置一个断点,并看到以下内容:
org.sl4j.Logger
之前说的只是一个接口,并且必须以某种方式用真实的实现对象实例化,你知道)关于第二项,根据您拥有的技术/框架,您可以通过JMX或某种Web管理界面获取此信息。调试是一个&#34;硬核&#34;通常的方法来解决这个问题。