我正在使用CAS进行单点登录解决方案,我的日志(log4j版本1.2.15)文件完全填充了Exception(org.jasig.cas.authentication.handler.BadCredentialsAuthenticationException) 用户输入无效登录凭据时的堆栈跟踪。
是否有解决方案来修剪CAS或Java中的堆栈跟踪?
我无法使用log4j EnhancePatternLayout来实现这一点,因为它需要log4j版本1.2.16
对此问题的任何建议都将不胜感激。
谢谢
答案 0 :(得分:0)
我没有使用CAS。但是,我过去遇到类似问题的方法是抑制来自违规类的日志消息。例如,如果您使用的是log4j.properties文件,请插入以下行:
log4j.logger.com.jasig.cas.WhateverClassLogsTheException=OFF
请注意,您需要禁止来自抛出异常的类的消息,而不是异常类本身。此外,您还可以使用FATAL或其他值来确保仅记录处于或高于给定级别的日志消息。有关详细信息,请参阅the Log4J docs。
请注意,这将禁止来自该类的所有消息,而不仅仅是产生该异常的特定日志消息。
答案 1 :(得分:0)
问题是CAS正在将Exception对象传递给Log4j,所以我在覆盖的类中对该行进行了注释。 BindLdapAuthenticationHandler.java