防止在Grails中记录特定异常

时间:2013-03-22 08:23:59

标签: grails log4j

在grails中,我想停止记录控制器中出现的一些特定异常。

我已通过urlmapping管理此异常以呈现自定义警告页

我的网址映射

"500"(controller:'error', action:'excOne', exception: MyExceptionOne)       
"500"(controller:'error', action:'excTwo', exception: MyExceptionTwo)

但log4j继续记录此异常。我怎样才能将他们排除在伐木之外?

这是我的log4j配置:

log4j = {
      error  'org.codehaus.groovy.grails.web.servlet',  //  controllers
        'org.codehaus.groovy.grails.web.pages', //  GSP
        'org.codehaus.groovy.grails.web.sitemesh', //  layouts
        'org.codehaus.groovy.grails.commons', // core / classloading
        'org.codehaus.groovy.grails.plugins', // plugins
        'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration
        'org.springframework',
        'org.hibernate',
        'net.sf.ehcache.hibernate',
        'grails.app.services.org.grails.plugin.resource',
        'grails.app.taglib.org.grails.plugin.resource',
        'grails.app.resourceMappers.org.grails.plugin.resource',
        'grails.app.services.NavigationService'


    warn   'org.mortbay.log'    
    debug  "com.myproject.*"

    debug  "grails.app"
    debug  "com.myproject.*"

appenders {
console name:'stdout', layout:pattern(conversionPattern: '[%r] %c{2} %m%n')
}

root {
error 'stdout'
warn 'stdout'
additivity = true
} 

}

2 个答案:

答案 0 :(得分:0)

我还没有设法在日志中删除所有提及的异常,但我所做的是防止堆栈跟踪混乱了日志:

创建一个行为符合您需要的StackTracePrinter实现。

Config.groovy

然后,在grails.logging.stackTracePrinterClass = 'com.myStuff.MyStackTracePrinter'

stream.pipe(transformStream)

答案 1 :(得分:-1)

尝试:

off "your.class.file"

代码行之后:

debug  "com.myproject.*"

请确保提供正确的课程路径,如果这不起作用,请告诉我类文件路径?