我在我的应用程序中使用Log4Net API来记录任何重要事件或信息,以及在数据库中记录我的异常。
使用Log4Net API时可能会出现异常;如果它无法执行登录数据库,那么该异常将如何存储?如果Log4Net API无法执行日志记录,那么将存储所有其他日志记录和异常日志记录?
答案 0 :(得分:3)
Log4net将以静默方式失败,以便不会干扰应用程序的主要功能。如果您有一个绝对需要在数据库中拥有的事件,那么您应该将其作为业务逻辑的一部分,即将其自己写入数据库。
如果您坚持使用log4net,那么您可以编写一个具有一些故障转移逻辑的appender,以确保所有事件都记录到数据库中(最终)。然而,这似乎不是一个好主意......
对于普通日志记录:为了确保我有日志,我通常使用滚动文件appender以及其他appender。通过这种方式,我可以确定在最坏的情况下,我在文件中提供了日志。