Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在我的应用程序中使用 Log4Net API 来记录任何重要的事件或信息,以及在数据库中记录我的异常。
使用 Log4Net API 时可能会出现异常;如果它无法执行登录到数据库,那么这个异常将如何存储?如果 Log4Net API 无法执行日志记录,所有其他日志记录和异常日志记录将存储在哪里?
Log4net 将静默失败,以免干扰应用程序的主要功能。如果您有一个绝对需要在数据库中的事件,您应该将其作为业务逻辑的一部分,即自己将其写入数据库。
如果您坚持为此使用 log4net,那么您可以编写一个具有一些故障转移逻辑的附加程序,以确保所有事件(最终)都记录到数据库中。然而,这似乎不是一个好主意......
至于正常的日志记录:为了确保我有日志,除了其他附加程序之外,我通常使用滚动文件附加程序。通过这种方式,我可以确定在最坏的情况下,我可以在文件中找到可用的日志。