代码之家  ›  专栏  ›  技术社区  ›  Instantsoup

拦截来自Ant的共享日志

  •  4
  • Instantsoup  · 技术社区  · 16 年前

    我正在试图找出如何使org.apache.commons.digester.digester更安静。我在构建时使用Ant将JRXML文件编译成jasper文件(JasperReports报告)。我在类路径上有logback.xml和slf4j以及jcl-over-slf4j。我就是搞不懂线路。

    问题是我有200多个报告,在编译它们时,Digester正在记录调试消息,导致55M日志文件和太多噪音,无法找到任何实际错误。我真的只想抑制调试消息。任何帮助都将不胜感激。

    日志片段:

    [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
    

    Ant代码段:

    <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 回复  |  直到 16 年前
        1
  •  4
  •   Instantsoup    16 年前

    如果类路径上有jcl-over-slf4j jar、slf4j jar和logback jar,包括类路径中的logback.xml文件,那么还应该连接commons日志以通过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>