我正在Java Swing中编写以数据库为中心的小型应用程序,该应用程序将在一家小公司内部使用。我在开发生产级别的应用程序方面没有太多经验。

我不使用ORM,只有几种使用Java JDBC运行SQL查询的简单方法。在访问数据库的每种方法上,我都会使用 try-catch 声明 SQLExceptionIOException. 。我应该在这里登录吗?如果我应该,我应该记录多少?在这种情况下,请给我良好实践的例子。

有帮助吗?

解决方案

生产系统中的两个主要内容是:

  1. 不要用不有趣的信息炸毁日志
  2. 允许提高日志级别以进行故障排除。

使用某种伐木基础架构。如果在此期间可能发生例外 普通的 操作,以调试级别报告。如果这是一个真正的问题,请以错误级别报告。无论哪种方式,您都可以通过提高日志级别来对系统进行故障排除。

另外 - 当您报告异常时,请务必确保打印整个堆栈跟踪 +内部异常。

其他提示

恕我直言,这是您应该做的最低限度。我想你正在使用 log4j.

try
{
   // open connection

   // begin transaction

   // my database stuff

   // commit transaction
}
catch (SQLException ex)
{
   log.Error("An error occured while ...: " + ex.Message, ex);
   // do stuff related to SQLException

   // rollback transaction
}
catch (IOExcpetion ex)
{
   log.Error("An error occured while ...: " + ex.Message, ex);
   // do stuff related to IOException

   // rollback transaction
}
catch (Exception ex)
{
    log.Error("An error occured while ...: " + ex.Message, ex);
    // manage this unhandled exception

    // rollback transaction
}
finally
{
   // close connection
}
许可以下: CC-BY-SA归因
scroll top