我正在使用mybatis-3.4.6.sql 执行 sql 脚本ScriptRunner。它正在将整个脚本打印到控制台。我正在slf4j用于日志记录,并且在logback.xml. 但它仍在打印。<logger name="org.mybatis" level="WARN" /><logger name="java.sql" level="WARN" />在mybatis我使用ibatis. 它没有像这样打印脚本。如何停止打印脚本?
2 回答

烙印99
TA贡献1829条经验 获得超13个赞
我通过使用方法 ScriptRunner.setLogWriter(null) 解决了这个问题:
ScriptRunner sr = new ScriptRunner(connection);
Reader reader = new BufferedReader(new FileReader(scriptFile));
sr.setLogWriter(null);
sr.runScript(reader);

倚天杖
TA贡献1828条经验 获得超3个赞
它对System.out我来说似乎是一个。所以我做了以下更改以删除控制台日志。我不认为这是最好的解决方案。
PrintStream tmp = new PrintStream(new OutputStream() {
@Override
public void write(int b) throws IOException {
// do nothing
}
});
PrintStream console = System.out;
System.setOut(tmp);
// ScriptRunner call
System.setOut(console);
添加回答
举报
0/150
提交
取消