首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在控制台中停止mybatis打印SQL脚本

问如何在控制台中停止mybatis打印SQL脚本
EN

Stack Overflow用户
提问于 2018-09-19 20:41:34
回答 2查看 710关注 0票数 1

我正在使用ScriptRunner使用mybatis-3.4.6来执行sql脚本。它正在将整个脚本打印到控制台。我正在使用slf4j进行日志记录,并且在logback.xml中包含了以下几行。但它还在打印。

代码语言:javascript
复制
<logger name="org.mybatis" level="WARN" />
<logger name="java.sql" level="WARN" />

在mybatis之前,我使用的是ibatis。它没有像这样打印脚本。

如何停止打印脚本?

EN

回答 2

Stack Overflow用户

发布于 2020-07-21 22:58:53

我使用方法ScriptRunner.setLogWriter(Null)解决了这个问题:

代码语言:javascript
复制
ScriptRunner sr = new ScriptRunner(connection);
Reader reader = new BufferedReader(new FileReader(scriptFile));
sr.setLogWriter(null);
sr.runScript(reader);
票数 2
EN

Stack Overflow用户

发布于 2018-09-20 17:08:26

对我来说,它就像是一个System.out。因此,我做了以下更改以删除控制台日志。我不认为这是最好的解决方案。

代码语言:javascript
复制
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);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52406119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档