2010-06-28 100 views
4

我想弄清楚如何讓org.apache.commons.digester.Digester變得更安靜。我正在使用Ant在構建時將JRXML文件編譯爲jasper文件(JasperReports報告)。我在類路徑中提供了一個logback.xml和slf4j以及jcl-over-slf4j。我只是無法弄清楚接線。攔截從螞蟻登錄的Commons

問題是我有200多個報告,編譯它們時,Digester正在記錄DEBUG消息,導致55M日誌文件和太多噪聲,以找到任何實際的錯誤。我真的只想壓制DEBUG消息。非常感激任何的幫助。

日誌片段:

[jrc] 09:56:51.525 [main] DEBUG o.a.commons.digester.Digester.sax - setDocumentLocator([email protected]d) 
[jrc] 09:56:51.525 [main] DEBUG o.a.commons.digester.Digester.sax - startDocument() 
[jrc] 09:56:51.998 [main] DEBUG o.a.commons.digester.Digester.sax - startElement(,jasperReport,jasperReport) 
[jrc] 09:56:51.998 [main] DEBUG org.apache.commons.digester.Digester - Pushing body text '' 
[jrc] 09:56:51.999 [main] DEBUG org.apache.commons.digester.Digester - New match='jasperReport' 
[jrc] 09:56:51.999 [main] DEBUG org.apache.commons.digester.Digester - Fire begin() for FactoryCreateRule 

螞蟻片段:

<taskdef name="jrc" classname="net.sf.jasperreports.ant.JRAntCompileTask" classpathref="jasper.reports.path"/> 
<jrc tempdir="${temp.dir}" destdir="${project.classes}"> 
<classpath refid="libs.path" /> 
<classpath refid="compile.class.path" /> 
<src> 
<fileset dir="${project.jasper.dir}"> 
<include name="*.jrxml"/> 
</fileset> 
</src> 
</jrc> 

回答

3

如果你有JCL-過SLF4J瓶子,SLF4J罐子,放在classpath的logback罐子,其中一個的logback類路徑中的.xml文件也應該連接公共日誌記錄以通過logback運行。包括像下面這樣的內容會降低日誌級別並最大限度地減少輸出。

<logger name="org.apache.commons.digester" additivity="false"> 
<level value="ERROR" /> 
<appender-ref ref="RootConsoleAppender" /> 
</logger> 
<logger name="net.sf.jasperreports.engine" additivity="false"> 
<level value="ERROR" /> 
<appender-ref ref="RootConsoleAppender" /> 
</logger>