代码之家  ›  专栏  ›  技术社区  ›  Darshana

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

  •  0
  • Darshana  · 技术社区  · 7 年前

    我正在使用 mybatis-3.4.6 使用执行sql脚本 ScriptRunner . 它正在将整个脚本打印到控制台。我正在使用 slf4j 对于日志记录,我在 logback.xml . 但它仍在印刷。

    <logger name="org.mybatis" level="WARN" />
    <logger name="java.sql" level="WARN" />
    

    以前 mybatis ibatis . 它没有像这样打印脚本。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Darshana    7 年前

    它看起来像是 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);
    
        2
  •  0
  •   Arie    5 年前

    ScriptRunner sr = new ScriptRunner(connection);
    Reader reader = new BufferedReader(new FileReader(scriptFile));
    sr.setLogWriter(null);
    sr.runScript(reader);