我正在使用ScriptRunner使用mybatis-3.4.6来执行sql脚本。它正在将整个脚本打印到控制台。我正在使用slf4j进行日志记录,并且在logback.xml中包含了以下几行。但它还在打印。
<logger name="org.mybatis" level="WARN" />
<logger name="java.sql" level="WARN" />在mybatis之前,我使用的是ibatis。它没有像这样打印脚本。
如何停止打印脚本?
发布于 2020-07-21 22:58:53
我使用方法ScriptRunner.setLogWriter(Null)解决了这个问题:
ScriptRunner sr = new ScriptRunner(connection);
Reader reader = new BufferedReader(new FileReader(scriptFile));
sr.setLogWriter(null);
sr.runScript(reader);发布于 2018-09-20 17:08:26
对我来说,它就像是一个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);https://stackoverflow.com/questions/52406119
复制相似问题