题
我正在Java Swing中编写以数据库为中心的小型应用程序,该应用程序将在一家小公司内部使用。我在开发生产级别的应用程序方面没有太多经验。
我不使用ORM,只有几种使用Java JDBC运行SQL查询的简单方法。在访问数据库的每种方法上,我都会使用 try-catch
声明 SQLException
和 IOException
. 。我应该在这里登录吗?如果我应该,我应该记录多少?在这种情况下,请给我良好实践的例子。
解决方案
生产系统中的两个主要内容是:
- 不要用不有趣的信息炸毁日志
- 允许提高日志级别以进行故障排除。
使用某种伐木基础架构。如果在此期间可能发生例外 普通的 操作,以调试级别报告。如果这是一个真正的问题,请以错误级别报告。无论哪种方式,您都可以通过提高日志级别来对系统进行故障排除。
另外 - 当您报告异常时,请务必确保打印整个堆栈跟踪 +内部异常。
其他提示
恕我直言,这是您应该做的最低限度。我想你正在使用 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
}