【问题标题】:Execute sql file using jdbc and write log to a file instead of std output or print only errors使用 jdbc 执行 sql 文件并将日志写入文件而不是 std 输出或仅打印错误
【发布时间】:2017-08-10 07:26:50
【问题描述】:

我编写了一个简单的程序来在 mysql 数据库上执行一个特别大的 SQL 文件。程序运行正常,但是由于SQL数据量大,生成的日志非常大,不可读。 有没有办法让 jdbc 只打印错误或让它将日志写入文件。

【问题讨论】:

  • 在 catch() 块中,您可以创建 if 条件,因此您可以将这些日志插入到您想要的任何位置
  • 目前如何生成日志?通常,您使用日志框架来处理此类内容,它允许您简单地配置哪些日志消息去哪里。
  • 你在使用 log4j 吗?
  • @YCF_L 谢谢。

标签: java mysql jdbc


【解决方案1】:

您可以使用任何 Logger,例如 Log4j 并登录 Catch 语句:

要遵循的步骤:
下载最新的 log4j 发行版。
将 log4j 的 jar 库添加到程序的类路径中。
创建 log4j 的配置。
使用配置初始化 log4j。
创建一个记录器。
将日志记录语句放入您的代码中。

 Logger logger = Logger.getLogger(MyClass.class);

try {
      // Your risky code goes between these curly braces!!!
 }
 catch(Exception ex) {
    // Log your errors here
       logger.info("This is my first log4j's statement");

}
 finally {
      // Your must-always-be-executed code goes between these 
     // curly braces. Like closing database connection.
  }

`

参考:http://www.codejava.net/coding/how-to-configure-log4j-as-logging-mechanism-in-java

【讨论】:

  • 是的,我认为 log4j 是要走的路。我试试看。
  • @born 让我知道您的确切需求,以便我可以相应地修改代码,同时这将使您对记录 SQL 错误有一个公平的想法
  • 抱歉回复晚了。跟随你的想法。得到它的工作谢谢。 @mohit sharma
猜你喜欢
  • 1970-01-01
  • 2011-07-26
  • 1970-01-01
  • 2015-07-02
  • 1970-01-01
  • 2014-11-04
  • 2020-07-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多