.NET 3.5 日志记录

3
我是一名相对较新的C#程序员。我想知道如何将日志框架集成到已有解决方案中(如果这就是你所说的)。我正在尝试为我的项目添加日志记录。我想知道有哪些好用且易于使用的框架,并且应该如何实现它们?我应该研究一个特定的主题吗?我没有找到很多教程或其他资料。所以如果有人有任何建议或想法可以指导我正确的方向,我会非常感激。此外,我想问一下,我正在使用 .Net 3.5,而Log4Net使用的是 .Net 2.0……是否会有冲突/减速等问题?

1
精确副本 http://stackoverflow.com/questions/98080/what-is-the-best-logging-solution-for-a-c-net-3-5-project - user7116
.NET3.5 是 .NET2.0 的超集,因此您可以在针对 .NET3.5 的项目中使用针对 .NET2.0 的库(但反之则不行)。 针对 .NET2.0 只是允许它也在 .NET2.0 项目中使用(这样可以在具有 .NET2.0 CLR 但没有更大的 .NET3.5 CLR 的系统上运行),因此它是第三方库使用的流行目标。 - Rob Parker
9个回答

7

一款非常好的日志框架是Apache的 log4net,它允许相当灵活和易于集成。使用该框架可以轻松配置多个独立的日志输出目标。

(官方网站似乎挂了 - 维基百科有一个很好的关于log4net的讨论。)


1
我建议使用log4netCommon Logging。后者允许您插入log4net或Microsoft Enterprise Library日志实现之一。

0

我使用(并编写和维护 =D)SixPack库,其中包括一个非常易于使用的日志框架。例如:

using SixPack.Diagnostics;

///

  Log.Instance.Add("Hello");

///

0

目前我使用NLog。

它非常好用,因为你可以通过调整一个带有设置的xml文件将输出到几乎任何类型的介质(数据库、文件、消息框、网络共享、控制台等等)。

它还有很多其他不错的功能(日志消息级别如debug、info、error等)。只需搜索与其他框架的比较即可。

唯一的缺点是它不支持面向方面的编程,所以你必须在代码的各个地方手动添加.Log()语句。


你可以使用PostSharp http://www.sharpcrafters.com/与NLog http://www.sharpcrafters.com/blog/post/postsharp-toolkits-update-support-for-log4net-and-system-diagnostics-trace.aspx。 - Michael Freidgeim

0

0

使用HTTPModule和自己的函数将其分割到日志文件/数据库中。对我来说很有效。


0
如果你正在使用asp.net或asp.mvc,你可以尝试ELMAH。它非常好用,可以直接插入你的网站。当然,ELMAH只处理错误,如果你想记录更多信息,我建议你将其与另一个日志框架一起使用。我通常会将它与Log4Net混合使用。

0

看看GIBRALTAR。它是一个非常好的日志记录工具,将ELMAH、log4net、perfmon和其他工具的优点结合在一个非常好的包中。它适用于桌面或ASP.NET应用程序,并且非常容易集成。

披露:我有偏见。我已经写了10年的日志记录工具,并与我的mISV的其他成员一起花了最后两年时间编写Gibraltar。

想要快速了解,请查看我们在YouTube上的视频。


0

关注你问题的这一部分...

还有一个疑问。我正在使用 .Net 3.5,因为 Log4Net 正在使用 .Net 2.0... 是否会有冲突/减慢速度或其他什么影响?

不会有冲突。.NET 3.5 只是 .NET 2.0 的超集。为 .NET 3.5 编写的应用程序将可以愉快地使用 .NET 2.0 的第三方库(例如,它是100%兼容的)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接