如何从码头日志中删除弹簧信息?

时间:2013-01-31 10:32:38

标签: java logging jetty

我一直在我的日志文件中收到信息消息。

我正在使用码头和弹簧。

INFO org.springframework.remoting.support.RemoteInvocationTraceInterceptor - Processing of HessianServiceExporter remote call resulted in exception...

我没有在tomcat上收到消息。有没有办法关闭这些消息?

我正在使用log4j slf4j和commons logging。

当我调试log4j时,正在加载正确的配置文件。

不知何故,另一个日志记录是将这些消息添加到文件中......

我认为因为spring使用commons记录它会使用RemoteInvocationTraceInterceptor创建信息消息。

以某种方式,公共日志记录不会将其发送到log4j,只是无论你在log4j.xml中设置什么都只写信息。

3 个答案:

答案 0 :(得分:0)

尝试从

中过滤/删除org.springframework.remoting.support.RemoteInvocationTraceInterceptor

答案 1 :(得分:0)

您可以通过在INFO

中指定以下内容来关闭弹出的log4j.properties级别日志
log4j.logger.org.springframework.remoting.support=ERROR

support包下的所有类只写错误日志。如果您需要整个springframework,请指定

log4j.logger.org.springframework=ERROR

答案 2 :(得分:0)

Spring使用了一个奇怪的模式(imho)和log4j:

例如,在课堂上#34; MyClass",他们不会写(通常是这样):

logger=LogFactory.getLog(MyClass.class);

但他们写了

logger=LogFactory.getLog(getClass());

因此,如果派生类" MyDerived扩展了MyClass"使用其父类" MyClass"的方法,该调用将根据类#34; MyDerived"而不是" MyClass"来过滤log4j,这不是直观的,因为电话是在文件' MyClass.java'

所以你可以用

来过滤它
<logger name="MyDerived" additivity="false">
    <level value="fatal" />
</logger>

或(以.properties格式)     log4j.logger.MyDerived = ERROR