.NET中的高性能日志记录

时间:2011-08-02 00:34:52

标签: .net asp.net logging

如果我们在可能同时拥有20K用户的Web应用程序中记录每个用户操作,那么最佳方向是什么?我们是否应该构建日志数据的列表缓存,并在一定的时间或阈值后将其持久保存到数据库中?是否有任何好的库或技术可以做到这一点?

1 个答案:

答案 0 :(得分:3)

  

我们是否应该构建日志数据的列表缓存,并在一定的时间或阈值后将其持久保存到数据库

如果您缓存并崩溃,请再见。

  

是否有任何好的库或技术可以做到这一点?

最好使用灵活的日志记录机制,您可以随意打开和过滤,在禁用时具有超高性能。

我建议使用现有的库。您希望您的日志记录中的错误可以掩盖生产中的错误。

NLog(和其他此类日志记录库)可以相当容易地用于执行此操作。它旨在满足大量项目的需求,并且具有允许您在禁用它时对性能产生极低影响的技术。它还具有内置的多线程/异步日志记录支持。

话虽这么说,有一个合理质量的很多 .Net日志库。查看此问题以获得一些质量比较意见(代表的图书馆数量多于标题所示):log4net vs. Nlog