Как я могу закрыть сообщения Stanford CoreNLP (см. Конец сообщения)? Сначала я попытался установить log4j.category.edu.stanford=OFF
в log4j.properties, но это не помогло, поэтому я обнаружил, что, очевидно, он использует нестандартную среду ведения журналов, называемую «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].
P.S .: Redwood.hideAllChannels();
также не работает. Следующее, однако, подавляет мой собственный оператор ведения журнала (но не из StanfordCoreNLP):
RedwoodConfiguration.empty().apply();
Redwood.log("test redwood");
Решение Хорошо, StevenC был прав, в конце концов, это были не операторы записи, кроме значения по умолчанию сообщения инициализации пишутся в stderr, чего я не ожидал, увидев, что у Стэнфорда есть своя собственная структура ведения журнала, а затем он не использует ее: -)
В любом случае, его подсказки привели меня к поиску этого решения:
// shut off the annoying intialization messages
RedwoodConfiguration.empty().captureStderr().apply();
nlp = new StanfordCoreNLP(myproperties);
// enable stderr again
RedwoodConfiguration.current().clear().apply();