如何关闭docx4j-ImportXHTML的日志记录

时间:2017-04-28 09:12:55

标签: docx4j flying-saucer

当我使用docx4j-ImportXHTML时,我会收到很多日志。

 <dependency>
            <groupId>org.docx4j</groupId>
            <artifactId>docx4j</artifactId>
            <version>3.3.1</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-io</groupId>
                    <artifactId>commons-io</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.docx4j</groupId>
            <artifactId>docx4j-ImportXHTML</artifactId>
            <version>3.3.1</version>
        </dependency>
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 1 column 52 - Warning: inserting missing 'title' element
InputStream: Document content looks like HTML 2.0
2 warnings, no errors were found!
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 1 column 651 - Warning: inserting missing 'title' element
InputStream: Document content looks like HTML 2.0
2 warnings, no errors were found!

org.docx4j.org.xhtmlrenderer.load INFO:: SAX XMLReader in use (parser): org.apache.xerces.parsers.SAXParser
org.docx4j.org.xhtmlrenderer.load INFO:: SAX XMLReader in use (parser): org.apache.xerces.parsers.SAXParser
org.docx4j.org.xhtmlrenderer.load INFO:: SAX XMLReader in use (parser): org.apache.xerces.parsers.SAXParser
org.docx4j.org.xhtmlrenderer.load INFO:: SAX XMLReader in use (parser): org.apache.xerces.parsers.SAXParser
org.docx4j.org.xhtmlrenderer.load INFO:: SAX XMLReader in use (parser): org.apache.xerces.parsers.SAXParser
org.docx4j.org.xhtmlrenderer.load INFO:: SAX XMLReader in use (parser): org.apache.xerces.parsers.SAXParser
org.docx4j.org.xhtmlrenderer.load INFO:: Loaded document in ~90ms
org.docx4j.org.xhtmlrenderer.load INFO:: TIME: parse stylesheets  241ms
org.docx4j.org.xhtmlrenderer.match INFO:: media = print
org.docx4j.org.xhtmlrenderer.match INFO:: Matcher created with 137 selectors
org.docx4j.org.xhtmlrenderer.load INFO:: SAX XMLReader in use (parser): org.apache.xerces.parsers.SAXParser
org.docx4j.org.xhtmlrenderer.load INFO:: Loaded document in ~3ms
org.docx4j.org.xhtmlrenderer.load INFO:: TIME: parse stylesheets  0ms
org.docx4j.org.xhtmlrenderer.match INFO:: media = print
org.docx4j.org.xhtmlrenderer.match INFO:: Matcher created with 137 selectors

如何关闭它?它在我们的应用服务器上生成了大量的日志条目。

3 个答案:

答案 0 :(得分:0)

org.docx4j.org.xhtmlrenderer是重新打包和扩展的org.xhtmlrenderer,用于docx支持;见https://github.com/plutext/flyingsaucer

flyingsaucer拥有自己的日志记录系统,独立于docx4j(使用slf4j)并与之不同。

使用xr.util-logging配置flyingsaucer的日志记录:  https://github.com/plutext/flyingsaucer/blob/master/src/conf/xhtmlrenderer.conf#L56

该文件通常包含在docx4j-ImportXHTML jar中:https://github.com/plutext/docx4j-ImportXHTML/blob/master/pom.xml#L255

因此请检查该jar文件中的conf文件,并在那里进行更改。

例如,xr.util-logging.loggingEnabled = false

答案 1 :(得分:0)

而不是操纵jar,您可以在代码中添加以下行:

XRLog.setLoggingEnabled(false);

它必须是在你初次调用ImportXHTML库之前的一个调用,但是当它被加载时(首先我尝试在main()中添加它,但是直到我把它放在我的类的构造函数中它才能工作使用xhtml-import。

再见 扬帕特里克

答案 2 :(得分:0)

它有助于从 jar 中复制 xhtmlrenderer.conf 并使用修改后的行放入项目资源:

xr.util-logging.loggingEnabled = true