我有一些警告要禁用。他们来自
org.eclipse.lyo.oslc4j.provider.jena.JenaModelHelper
类。所以我使用的是log4j,我在rutime调用
Logger.getLogger("org.eclipse.lyo.oslc4j.provider.jena.JenaModelHelper").setLevel(Level.OFF);
但没有任何反应。
为此目的,我调试有问题的代码,并且前3次显示警告,但在第4次击中时,级别被更改。 我在begging(在构造函数中)更改了日志级别,所以我想当考虑运行时应用规则时,log4j中有一些刷新机制。
有没有办法立即触发这种情况?
编辑: 警告信息是:
WARNING: Property http://localhost:8080/dwa/rm/urn:rational::1-55422447386d3378-M-00000200/types/attrDef-7 could not be parsed as datatype http://www.w3.org/2001/XMLSchema#dateTime
com.hp.hpl.jena.datatypes.DatatypeFormatException: Lexical form '2015-06-10' is not a legal instance of Datatype[http://www.w3.org/2001/XMLSchema#dateTime -> class com.hp.hpl.jena.datatypes.xsd.XSDDateTime] Lexical form '2015-06-10' is not a legal instance of Datatype[http://www.w3.org/2001/XMLSchema#dateTime -> class com.hp.hpl.jena.datatypes.xsd.XSDDateTime] during parse -org.apache.xerces.impl.dv.InvalidDatatypeValueException: cvc-datatype-valid.1.2.1: '2015-06-10' is not a valid value for 'dateTime'.
at com.hp.hpl.jena.graph.impl.LiteralLabelImpl.getValue(LiteralLabelImpl.java:339)
at com.hp.hpl.jena.graph.Node_Literal.getLiteralValue(Node_Literal.java:39)
at com.hp.hpl.jena.rdf.model.impl.LiteralImpl.getValue(LiteralImpl.java:98)
答案 0 :(得分:2)
您可以禁用配置文件(log4j.properties)中的日志记录,因此这将在启动时设置:
<击> log4j.logger.org.eclipse.lyo.oslc4j.provider.jena.JenaModelHelper = ERROR 击>
您发布的警告看起来很像Java Util Logging消息,这些消息不会被Log4J控制,因为它是一个不同的框架。您可以在VM“logging.properties”文件中禁用该消息:
org.eclipse.lyo.oslc4j.provider.jena.JenaModelHelper.level=SEVERE
或者您可以将SLF4J添加到项目中,以将旧框架消息重定向到Log4J。为此,请在您的类路径中添加slf4j-api.jar,jcl-over-slf4j.jar,jul-to-slf4j.jar和slf4j-log4j12.jar。