如何截断org.jasig.cas.authentication.handler.BadCredentialsAuthenticationException日志文件中的堆栈跟踪?

时间:2013-02-14 02:52:36

标签: log4j cas

我正在使用CAS进行单点登录解决方案,我的日志(log4j版本1.2.15)文件完全填充了Exception(org.jasig.cas.authentication.handler.BadCredentialsAuthenticationException) 用户输入无效登录凭据时的堆栈跟踪。

是否有解决方案来修剪CAS或Java中的堆栈跟踪?

我无法使用log4j EnhancePatternLayout来实现这一点,因为它需要log4j版本1.2.16

对此问题的任何建议都将不胜感激。

谢谢

2 个答案:

答案 0 :(得分:0)

我没有使用CAS。但是,我过去遇到类似问题的方法是抑制来自违规类的日志消息。例如,如果您使用的是log4j.properties文件,请插入以下行:

log4j.logger.com.jasig.cas.WhateverClassLogsTheException=OFF

请注意,您需要禁止来自抛出异常的类的消息,而不是异常类本身。此外,您还可以使用FATAL或其他值来确保仅记录处于或高于给定级别的日志消息。有关详细信息,请参阅the Log4J docs

请注意,这将禁止来自该类的所有消息,而不仅仅是产生该异常的特定日志消息。

答案 1 :(得分:0)

问题是CAS正在将Exception对象传递给Log4j,所以我在覆盖的类中对该行进行了注释。 BindLdapAuthenticationHandler.java