如何关闭Stanford CoreNLP消息(请参阅发布结束)?
我首先尝试在log4j.properties中设置log4j.category.edu.stanford=OFF
,但这没有帮助,所以我发现它显然使用了一种称为“Redwood”的非标准日志记录框架。根据http://nlp.stanford.edu/nlp/javadoc/javanlp/
,有一个文档,但是受密码保护。我尝试了RedwoodConfiguration.empty().apply();
,但这也无济于事。
日志消息:
Adding annotator tokenize
Adding annotator ssplit
Adding annotator pos
Loading default properties from tagger edu/stanford/nlp/models/pos-tagger/english-left3words/english-left3words-distsim.tagger
Reading POS tagger model from edu/stanford/nlp/models/pos-tagger/english-left3words/english-left3words-distsim.tagger ... done [1,2 sec].
附言:
Redwood.hideAllChannels();
也无效。但是,以下内容禁止了我自己的日志记录语句(但不包括来自StanfordCoreNLP的日志记录语句):RedwoodConfiguration.empty().apply();
Redwood.log("test redwood");
解决方案好吧,StevenC是对的,它毕竟不是日志记录语句,但是默认的初始化消息已写入stderr,我不希望看到Stanford有它自己的日志记录框架,然后就不使用它了:-)
无论如何,他的提示使我发现了这个解决方案:
// shut off the annoying intialization messages
RedwoodConfiguration.empty().captureStderr().apply();
nlp = new StanfordCoreNLP(myproperties);
// enable stderr again
RedwoodConfiguration.current().clear().apply();
最佳答案
您还可以在Redwood项目中的GitHub上找到Redwood教程PDF。
网址在此页面中:https://github.com/gangeli/redwood/blob/master/doc/tutorial.pdf
(很明显,我不能告诉您文件是否相同,因为我也不知道用户名/密码:-))
进一步讲,我将Tutorial PDF链接到实际上只是一个幻灯片。如果您想要属性文件的文档,我能找到的最好的是RedwoodConfiguration.parse
方法的javadocs。实际上,其余类javadoc可能是您最好的doc了,但是没有阅读源代码。
警告...有迹象表明,GitHub上的独立Redwood代码可能与NLP代码库中的版本不同。