【发布时间】:2011-08-23 06:30:32
【问题描述】:
我对 C# 比较陌生,所以请多多包涵。我正在为我的项目(桌面小型企业应用程序)寻找日志记录解决方案。我知道这个问题已经被问过无数次了,但我还有一些额外的要求和问题。
是否有 .NET 的日志记录工具(以下所有):
-可靠(记录发送到记录器的所有内容,即使是崩溃前的最后一个异常,log4net 也不保证)
-fast (不阻塞调用者 -> 异步)
-线程安全(可以同时从多个线程调用并写入一个文件)
-加密日志文件(或允许完全自定义的日志记录 - 只写入它获得的内容,没有其他信息)
-免费
嗯,这就是我的要求清单。你知道有哪些适合的通行费吗?我读过有关 log4net 的信息,但它似乎很旧(使用 .NET 2.0 并且主要是重新发明轮子),nlog 听起来很有希望,因为它是异步的,但我再次认为它无法加密。另外我不知道它们是否都是完全线程安全的。
我应该只写自己的小记录器吗?我考虑过创建一个日志线程,一个日志列表(或队列),并使用锁定附加到适当的日志列表,日志线程将转换(可能为字符串,或某些部分为字符串)日志对象,加密并保存它们尽快写入文件。
你觉得我应该怎么做? 感谢您的想法和回答。
【问题讨论】:
标签: c# .net multithreading logging