log没有被记录的原因

过了这么久,因为cheny的程序错误,才发现w9系统的log都没有被按希望的记录到对应的文件中去。

经查,原来是因为service层交由过滤器ServiceInterceptor处理的代码中,创建Log实例的时候,代码是这样的:

protected Log logger = LogFactory.getLog(ServiceInterceptor.class);

实际上从service转过来的时候,这里的ServiceInterceptor.class也永远是ServiceInterceptor类自身的类路径,而不会是service类的class名称。

后来在ServiceInterceptor中修改成代码如下:

logger = LogFactory.getLog(invoction.getMethod().getDeclaringClass().getName());

成功。

你可能感兴趣的:(log)