我使用FileAppender登录我的应用程序中的文件。 现在我开始使用MemoryAppender从日志中获取错误并将它们存储在数据库中。这是为了在我查询数据库的ui上显示异常/错误。
虽然我看到错误已正确插入数据库,但我发现日志中缺少这些错误。
我在某地读过MemoryAppender只写入内存。 但是当我同时配置了FileAppender和MemoryAppender时,它是否也应该写入日志文件?
是否有解决方法,我仍然可以将错误记录到文件中?
答案 0 :(得分:0)
http://logging.apache.org/log4net/release/config-examples.html
使用此链接将日志存储在数据库中。我已经尝试了它的正常工作。然后您将从数据库到网格或任何地方获取日志信息。
答案 1 :(得分:0)
我不确定你使用的是MemoryAppender。您可以使用AdoNetAppender并将日志条目直接存储到数据库中。
如果我理解正确,那么您的问题是关于文件中缺少的日志。 Log4net应将所有日志条目发送到所有已配置的appender,除非您已明确配置它不这样做。我不假设您配置了任何阻止某些消息写入文件的过滤器。所以也许你有文件的锁定问题(内部调试应该揭示这个问题,请参阅log4net FAQ)。
如果是这种情况,您可以尝试将其用于文件追加器:
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
然而,这会对性能产生影响,您应该尝试找出锁定问题的原因。