c# – 使用msmq进行异步日志记录

我需要登录我们的应用程序,并希望尽可能少地记录由于记录所消耗的时间.我正在考虑使用MSMQ,以便应用程序将登录到MSMQ,然后我可以异步地将消息从MSMQ记录到数据库/文件.

这个想法在性能方面是否合适?或使用log4net同步记录到平面文件更好.

此外,我正在考虑编写日志记录抽象层,以便以后插入任何日志记录工具而不影响其他代码.

请指教.

谢谢,
sveerap

解决方法

我会建议不要这样做.对于不存在的问题,这是一个不必要的复杂解决方案.我已经在多个项目中使用了log4net,并且从未看到任何显着的性能下降.

为每条日志消息(DEBUG,INFO,WARN等)选择正确的日志记录级别是一个更好的主意.当您开始项目时,也许在您投入生产的短时间内,您可以记录从DEBUG到更高级别的所有内容.如果您确信一切正常,请在配置中切换到INFO.这应该足以解决您在日志记录中遇到的任何性能问题.

关于你的抽象层,我也不会这样做. Log4net本身通过其logger appender抽象了日志记录本身的所有细节.如果你真的想要这个,你可能还想看看Common.Logging.

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...