新配置的log4j consoleAppender不记录

2020-09-12 12:18发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨 版本:Hybris 6.6...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


版本:Hybris 6.6

我遇到了一个问题,我的新Log4j consoleAppender甚至没有在控制台中记录任何内容。 我实现了一个过滤器来记录每个请求的sessionId。 但是出于某种原因,即使它通过了过滤器,它也不会记录任何内容。

我在local.properties中做了这些配置:

  log4j.rootLogger = INFO,控制台
  log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender
  log4j.appender.CONSOLE.Threshold =信息
  log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout
  log4j.appender.CONSOLE.layout.ConversionPattern = [%d {ISO8601}]%X {sessionId}%p%c-%m%n

  

即使我将这些配置放在project.properties中,它也不起作用。

这是我的过滤器的代码:

 公共类LogSessionIdFilter扩展了OncePerRequestFilter {
 
      私有静态最终Logger LOG = Logger.getLogger(LogSessionIdFilter.class);
 
      @Override
      受保护的void doFilterInternal(HttpServletRequest请求,HttpServletResponse响应,FilterChain链)抛出ServletException,IOException {

          尝试{
              MDC.put(" sessionId",request.getSession()。getId());
              LOG.warn(MDC.get(" sessionId"));
 
              chain.doFilter(request,response);
 
          }最后{
              MDC.remove(" sessionId");
          }
      }
  }

  

没用的" LOG.warn(" sessionId");" 的作品,我在控制台中看到一个条目。 但是我想在属性文件中配置模式,这是小事,不起作用。

有人可以帮忙吗?

6条回答
Nir深蓝
2020-09-12 12:56

非常好!

一周热门 更多>

相关问答