禁用OWL API日志记录消息

时间:2015-09-23 18:14:10

标签: logging owl owl-api pellet

我使用OWL(版本4.0.2)和Pellet(3.0)来填充本体,然后使用SWRL规则来推断新事实。但是OWL API中的一些jar正在打印大量的消息,而我试图进行推断并且最终没有显示结果 - 事实上,我不会等到最后因为它需要永远执行。

这是我设置一些本体信息的地方:

manager = OWLManager.createOWLOntologyManager();
    factory = manager.getOWLDataFactory();   
    this.ontologyURI = ontologyURI;
    pm = new DefaultPrefixManager(null, null,
            ontologyURI);


    File ontologyFile = new File("TwitterOntology.owl");
    try {
        ontology = manager.loadOntologyFromOntologyDocument(ontologyFile);
    } catch (OWLOntologyCreationException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

我发给你一部分日志:

14:54:38.961 [main] DEBUG o.s.o.rdf.rdfxml.parser.TripleLogger - 三重总数:4788 14:54:38.966 [main] DEBUG o.s.o.r.r.p.OptimisedListTranslator - list:ObjectPropertyAtom(http://www.semanticweb.org/michel/ontologies/2014/6/TwitterOntology#hashtagContainedInTweetRule Variable()Variable()) 14:54:38.967 [main] DEBUG o.s.o.r.r.p.OptimisedListTranslator - list:ObjectPropertyAtom(http://www.semanticweb.org/michel/ontologies/2014/6/TwitterOntology#posts Variable()Variable()) 14:54:38.967 [main] DEBUG o.s.o.r.r.p.OptimisedListTranslator - list:DataPropertyAtom()

14:54:40.316 [main] INFO c.c.o.e.BlackBoxExplanation - 初始公理数:50 14:54:40.319 [主要] INFO c.c.o.e.BlackBoxExplanation - 扩展公理(扩展0) 14:54:40.320 [主要] INFO c.c.o.e.BlackBoxExplanation - ...由62扩展 14:54:40.321 [主要] INFO c.c.o.e.BlackBoxExplanation - 扩展公理(扩展1) 14:54:40.322 [主要] INFO c.c.o.e.BlackBoxExplanation - ...由77扩展 14:54:40.324 [主要] INFO c.c.o.e.BlackBoxExplanation - 扩展公理(扩展2) 14:54:40.324 [主要] INFO c.c.o.e.BlackBoxExplanation - ...扩展为96 14:54:40.328 [主要] INFO c.c.o.e.BlackBoxExplanation - 扩展公理(扩展3) 14:54:40.328 [主要] INFO c.c.o.e.BlackBoxExplanation - ...扩展120 14:54:40.333 [main] INFO c.c.o.e.BlackBoxExplanation - 扩展公理(扩展4) 14:54:40.334 [主要] INFO c.c.o.e.BlackBoxExplanation - ...扩展150

如果你们中的一些人能给我任何暗示,那我真的很棒。

此致 米歇尔。

2 个答案:

答案 0 :(得分:0)

Slf4j是正在使用的日志库,看起来你的日志级别非常低。

检查类路径中是否有simplelogger.properties文件,并设置org.slf4j.simple logger.defaultLogLevel=error

根据现有设置,您可能需要更改其他一些本地配置。

答案 1 :(得分:0)

我想出了如何解决我的问题。我把答案放在这里以防你们任何人面对同样的事情:

我在我的代码中使用了slf4j-api-1.7.12.jar。这个jar需要来自“org.slf4j.impl.StaticLoggerBinder”的.class。我没注意到我已经在我的类路径中放了以下jar:ch.qos.logback.classic-0.9.28.jar。最后一个jar有“org.slf4j.impl.StaticLoggerBinder”.class。但问题是它在运行时打印了大量的日志消息。

我使用另一个jar解决了这个问题 - slf4j-nop-1.7.12.jar - 而不是 - ch.qos.logback.classic-0.9.28.jar - 它有我需要的.class但没有打印消息在运行时。

我希望我很清楚。