Antlr:抑制来自 antlr 的控制台日志

Antlr : suppress console logs from antlr

我想以某种方式捕获 ANTLR 错误并抑制它们出现在我的 java 日志中。

我是 ANTLR 的初学者,正在使用 ANTLR3.4

我遍历了 this,但找不到任何类似的方法。

lexer.removeErrorListeners();
lexer.addErrorListener(someListener());
parser.removeErrorListeners();
parser.addErrorListener(someListener());

有没有办法抑制 ANTLR 控制台错误?

在 ANTLR 3 中,您需要 override BaseRecognizer.emitErrorMessage 来控制打印错误的方式。监听器机制是在 ANTLR 4 中添加的(我强烈建议您使用它,因为它远远优于 ANTLR 3)。