我将groovy与logback结合使用,并且在解析xml时会收到很多警告。我知道导致此的JDK1.7_u45中的错误。
Warning: org.apache.xerces.parsers.SAXParser: Property 'http://javax.xml.XMLConstants/property/accessExternalDTD' is not recognized.
Warning: org.apache.xerces.parsers.SAXParser: Property 'http://www.oracle.com/xml/jaxp/properties/entityExpansionLimit' is not recognized.
有什么办法可以关闭此日志警告,使其不再显示在DEBUG中?我尝试使用过滤器编写过滤器,但没有帮助。
这是JRE中的一个已知错误,将其报告为警告。在此处 和此处 查看错误报告
仅当您在类路径中有xerces jar时,该问题才会发生,xerces实现无法识别该属性,并在org.apache.xerces.jaxp.SAXParserImpl $ JAXPSAXParser.setProperty()上引发异常,从而导致警告日志(到系统) (.err)来自com.sun.org.apache.xalan.internal.xsltc.compiler.Parser.parse()
简单(如果可能)的解决方案是从类路径中删除xerces jar。
您的日志过滤器不起作用,因为错误永远不会发送到slf4j。哪种建议提出了解决问题的复杂方法-将System.err重定向到slf4j,然后在其上使用日志记录筛选器。
重现问题的示例代码(基于问题报告):
import java.io.IOException;
import java.net.URL;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamSource;
public class XercesTest {
public static void main(String[] args) throws IOException, TransformerConfigurationException {
TransformerFactory tf = TransformerFactory.newInstance();
URL xsl = MainClass.class.getResource("build.xsl");
StreamSource stylesheetSource = new StreamSource(
xsl.openStream(), xsl.toExternalForm());
tf.newTransformer(stylesheetSource);
}
}
build.xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<!-- TODO: Auto-generated template -->
</xsl:template>
</xsl:stylesheet>
和Maven的依赖:
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.11.0</version>
</dependency>
我正在使用groovy的logback,解析xml时会出现很多警告。我知道JDK1中的错误。7_u45导致了这一点。 有没有什么方法可以关闭这个日志警告显示在DEBUG中?我尝试使用过滤器编写过滤器,但没有帮助。
问题内容: 我正在使用的代码会使用该warnings库引发很多(目前对我而言)无用的警告。阅读(/扫描)文档后,我只找到了一种禁用单个功能警告的方法。但是我不想更改太多代码。 可能有像这样的标志吗? 你会推荐什么? 问题答案: 有-W选项。 python -W ignore foo.py
问题内容: 我正在尝试在Pylint 0.21.1中禁用警告C0321(“在一行上有多个语句” –我经常将带有短单行结果的语句放在同一行上)(如果重要:astng 0.20)。 1,常见的0.50.3,Python 2.6.6(r266:84292,2010年9月15日,16:22:56))。 我尝试添加Pylint配置文件,但是Pylint坚持要报告它。该行的变体(如或)被标记为错误,因此Pyl
请查找我的应用程序登录FileAppender配置。 我没有为警报文件追加器配置任何rollingpolicy,但仍在进行滚动。我需要一个单一的文件,我的所有错误通过一天,一年等,请帮助。 谢谢Satyajit
我试图禁用MAMP中已弃用的警告。我的MAMP php版本是5.5.18。php.ini文件 /Applications/MAMP/bin/php/php5.5.18/conf/如我在phpinfo()中看到的。我的问题是无论我在php.ini.做什么都不会改变 我试过了 甚至: 另一方面 但是警告仍然显示在我的页面上。 我错过了什么? 谢啦
我正在使用Spring Boot构建一个命令行应用程序。在这样的应用程序中,日志反馈控制台日志记录是不合适的。我怎样才能完全禁用控制台附加器,但仍然让文件附加器在默认的Spring Boot支持下工作呢? 我在这里创建了一个特性请求,以便更简单地支持该特性: https://github.com/spring-projects/spring-boot/issues/1612