Intercept Commons Logging From Ant - PullRequest
4 голосов
/ 28 июня 2010

Я пытаюсь понять, как сделать org.apache.commons.digester.Digester тише. Я компилирую файлы JRXML в файлы jasper (отчеты JasperReports) во время сборки с использованием Ant. У меня есть logback.xml и slf4j и jcl-over-slf4j, доступные на пути к классам. Я просто не могу разобраться с проводкой.

Проблема в том, что у меня более 200 отчетов, и при компиляции Digester регистрирует сообщения DEBUG, вызывая 55M файлов журнала и слишком много шума, чтобы найти какие-либо реальные ошибки. Я действительно хочу подавить сообщения DEBUG. Любая помощь будет наиболее ценной.

Фрагмент журнала:

[jrc] 09:56:51.525 [main] DEBUG o.a.commons.digester.Digester.sax - setDocumentLocator(org.apache.xerces.parsers.AbstractSAXParser$LocatorProxy@543a586d)
[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>

1 Ответ

4 голосов
/ 29 июня 2010

Если у вас есть jcl-over-slf4j jar, slf4j jar и logback jar на вашем classpath, включая файл logback.xml в classpath, также следует подключить протоколирование общего доступа для запуска через 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>
...