如何关闭Stanford CoreNLP消息(见帖子末尾)?
我首先尝试在log4j.properties中设置log4j.category.edu.stanford=OFF
,但这没有帮助,所以我发现它显然使用了一个名为“Redwood”的非标准日志框架。根据{{1}},有一个文档,但它受密码保护。我试过http://nlp.stanford.edu/nlp/javadoc/javanlp/
,但这也无济于事。
记录消息:
RedwoodConfiguration.empty().apply();
P.S。: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].
也不起作用。但是,以下内容会抑制我自己的日志记录语句(但不包括来自StanfordCoreNLP的日志记录):
Redwood.hideAllChannels();
解决方案好的,StevenC是对的,它毕竟不是记录语句,但是默认的初始化消息被写入stderr,我没想到会看到Stanford拥有它自己的日志记录框架然后没有不要用它: - )
无论如何,他的提示让我发现了这个解决方案:
RedwoodConfiguration.empty().apply();
Redwood.log("test redwood");
答案 0 :(得分:3)
您还可以在Redwood项目中的GitHub上找到Redwood Tutorial PDF。
网址在此页面中:https://github.com/gangeli/redwood/blob/master/doc/tutorial.pdf
(显然,我无法告诉你文件是否相同,'因为我不知道用户名/密码:-))
更进一步,我将Tutorial PDF链接到幻灯片放映。如果你想要属性文件的文档,我能找到的最好的是RedwoodConfiguration.parse
方法的javadocs。事实上,其他类javadoc可能是你会发现的最好的文档......没有阅读源代码。
警告......有迹象表明GitHub上独立的Redwood代码可能与NLP代码库中的版本不同。
答案 1 :(得分:3)
StanfordNLP使用Redwood
作为日志记录的日志框架。您必须在初始化StanfordNLP管道之前禁用它。
import edu.stanford.nlp.util.logging.RedwoodConfiguration;
RedwoodConfiguration.current().clear().apply();
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
它对我有用。在运行程序时,它不会在每一行显示冗长的INFO消息。
希望它有所帮助!
答案 2 :(得分:0)
可以通过将空白输出流设置为系统错误流来解决此问题。
中查看我的回答