Grails Logging - 排除一个类

时间:2014-09-03 20:42:53

标签: grails logging log4j

我有一个由数百个不同类组成的项目。其中一个扩展了位于JAR库中的类,并生成大量的日志信息。我想将这一类排除在生成所有这些日志记录信息之外。

这是我的config.groovy日志记录部分:

trace('grails.plugin.springsecurity.web.filter.DebugFilter',
      'grails.app.conf.com.myrootpackage',
      'grails.app.controllers.com.myrootpackage',
      'grails.app.domain.com.myrootpackage',
      'grails.app.filters.com.myrootpackage',
      'grails.app.services.com.myrootpackage',
      'grails.app.taglib.com.myrootpackage',
      'com.myrootpackage')

由于我的所有类都位于com.myrootpackage包或其子包中,因此我不确定如何排除一个类。据我所知,config.groovy中的日志设置只允许指定类名的开头,所以我必须按名称指定所有其他类并省略我要省略的那个,或者移动我想要省略的那个到一个单独的根包。这两个似乎都很愚蠢,只需省略一个类来生成日志输出。

1 个答案:

答案 0 :(得分:0)

  

据我所知,config.groovy中的日志设置只允许指定类名的开头

不,您可以使用完整的类名来配置单个类,因此以下内容应该可以正常工作

trace('grails.plugin.springsecurity.web.filter.DebugFilter',
      'grails.app.conf.com.myrootpackage',
      'grails.app.controllers.com.myrootpackage',
      'grails.app.domain.com.myrootpackage',
      'grails.app.filters.com.myrootpackage',
      'grails.app.services.com.myrootpackage',
      'grails.app.taglib.com.myrootpackage',
      'com.myrootpackage')

error 'com.myrootpackage.ExcludeMe'

我已经假设了

  • com.myrootpackage.ExcludeMe是相关课程的完全限定名称
  • 此类应记录错误级别而不是跟踪