0

全新的 Log4Net 库,有一些我无法弄清楚的东西。

我假设缓冲区仅在内存中,对吗?当您启动应用程序的新实例时,缓冲区会重新初始化吗?我有一个要求,我被告知仅在应用程序失败 x 次后才向技术支持发送电子邮件。此应用程序将按计划运行(每两分钟左右)。如果失败,它将在两分钟内重试。如果它失败了太多次而不成功(并且由于抛出错误而失败),那么它应该发送电子邮件。

我现在能想到的最简单的方法是将失败尝试的次数保存到 user.config。然后,当我的程序捕获异常时,检查发生了多少次失败尝试,如果达到阈值,则使用正确的记录器/附加器发送电子邮件。程序成功运行后,它在退出之前要做的最后一件事是将 user.config 设置重置为 0 次失败尝试。

有没有更好的办法?也许某种方式可以保留缓冲区,以便我可以对有损设置做一些事情?

4

1 回答 1

0

缓冲区在内存中,这意味着如果您要一次又一次地启动应用程序并考虑计划任务,您将不得不以某种方式保存您的数据。

我会为此使用文件或注册表(其他持久性解决方案 - 数据库,memcached ...等)

要使用 log4net 发送消息,您可以查看这篇文章

于 2012-06-20T18:27:05.323 回答