C# .NET日志框架

C# .NET日志框架,c#,logging,C#,Logging,在java世界中,您有log4j和一个相当不错的日志框架,C#/.NET有类似的框架吗?将是显而易见的答案。是的 我已经用了一段时间了,它一直是一个救生圈 也有类似的,但配置更少,重量更轻。NLog是一个不错的选择 -NLog 这是一种非常灵活和可配置的测井工具,重量非常轻。您可以将其设置为登录到许多不同的位置(控制台、SQL、文件等)。非常容易使用 Rob Connery甚至在他的店面MVC项目中使用了它 我仍然认为Log4Net是一个更安全的选择。许多其他开源项目也使用它,如果您包括一个这样

在java世界中,您有log4j和一个相当不错的日志框架,C#/.NET有类似的框架吗?

将是显而易见的答案。

是的


我已经用了一段时间了,它一直是一个救生圈

也有类似的,但配置更少,重量更轻。

NLog是一个不错的选择

-NLog

这是一种非常灵活和可配置的测井工具,重量非常轻。您可以将其设置为登录到许多不同的位置(控制台、SQL、文件等)。非常容易使用


Rob Connery甚至在他的店面MVC项目中使用了它

我仍然认为Log4Net是一个更安全的选择。许多其他开源项目也使用它,如果您包括一个这样的项目,那么您只是减少了依赖关系。

有什么Windows事件日志+不能为您做的吗?

我们一直使用MS p&p企业库日志应用程序块。它不是特别酷或优雅,但它是相当灵活和精心设计的。我认为我们使用它的主要原因是我们使用了EL中的许多其他组件,当然它们都依赖于日志模块

看看TraceSource和TraceSteners。它内置在.NET中,并使用配置文件进行配置。

请尝试


尽管我也使用了这里提到的其他一些,但它值得研究。

詹姆斯·牛顿·金(James Newton King)大约在一年前就介绍过,我认为它在很大程度上仍然是最新的。我的经历只是和EL在一起,经历了起伏。如果您不充分利用每一个提示,多层应用程序中的配置会非常多,因此我可能会在我的下一个项目中尝试log4net。

实际上,如果您不需要复杂的日志记录选项,我建议编写一个定义日志记录需求的精简界面(例如log.debug(),log.error()等)。如果您需要更改后者,或者发现当前实现存在问题,这将为您提供灵活性


虽然这看起来并不是一个很大的收获,但最近我们将框架移植到Windows Compact框架时,这对我们来说是一个巨大的胜利,而且日志记录选项都不起作用。我们能够在一个空日志中滑动,这在那个平台上拯救了我们。当然,请根据您的具体项目和需求进行评估。

如果您正在寻找一个简单的非膨胀解决方案(下载量仅为100K左右,实际dll约为40K),我已经成功地在许多项目中使用过


它小巧、可配置、可靠且免费

毫无疑问,请尝试:。这是大多数应用程序的最佳选择。它不是臃肿软件。

这些评论似乎与开发者杜德和nzpcmad一致,我也是。使用Bit工厂,也称为。

正如我在其他一些地方说过的,我同意这里的其他人的看法。正如开发者杜德所说,它并不像其他框架那样臃肿。它在我们所有的生产应用程序中都能工作,并且已经工作了好几年了。

不想成为傻瓜警察,但这是一个傻瓜中的傻瓜。见鬼,如果你在搜索中添加[C#]和[Logging]标签,你的第一个答案几乎就是这个问题。重复问题。关于stackoverflow也有许多相同的问题。注意,这里有一个完整的日志框架列表:log4net总是有我的日志。我听说log4net依赖System.Web,这使得它对于使用
.net客户端框架的项目来说是一个不可靠的选择,这是真的吗?@IngóVals它支持.net framework客户端概要文件3.5和4.0。也许你可以试试Logary:NLog比log2net或“Microsoft Logging Block”快。+1用于建议log4net的可行替代方案。是否可以在运行时设置日志文件的位置和名称?BitFactory的作者现在要求支付少量许可费,以便下载库的最新版本。然而,这项费用确实非常小——单个开发人员5美元,10个开发人员29美元,站点许可证49美元。旧版本似乎也可以免费下载。