【问题标题】:.NET logging framework [closed].NET 日志框架 [关闭]
【发布时间】:2010-09-16 04:17:52
【问题描述】:

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

【问题讨论】:

  • 不要被骗警察,但这是骗子的骗子。见鬼,如果您只是在搜索中添加 [C#] 和 [Logging] 标签,您的第一个答案几乎就是这个确切的问题。
  • 重复问题。 stackoverflow 上有很多相同的问题。
  • 注意这里有一个完整的日志框架列表:github.com/quozd/awesome-dotnet/blob/master/README.md#logging

标签: c# logging


【解决方案1】:

log4net 是显而易见的答案。

【讨论】:

【解决方案2】:

正如我在其他几个地方所说的,我同意这里的其他人关于The Object Guy's Logging Framework 的看法。正如 Developer Dude 所说,它并不臃肿——就像其他一些框架一样。它适用于我们所有的生产应用程序 - 并且已经这样做了好几年了。

【讨论】:

    【解决方案3】:

    cmets here 似乎同意 Developer Dude 和 nzpcmad,我也同意。使用 Bit Factory,也称为 The Object Guy's Logging Framework

    【讨论】:

      【解决方案4】:

      毫无疑问,试试:this。毫无疑问,它是大多数应用程序的最佳选择。这不是英国媒体报道。

      【讨论】:

        【解决方案5】:

        如果您正在寻找一个简单的非膨胀解决方案(下载大约只有 100K,实际 dll 大约 40K),我已经在多个项目中成功使用了BitFactory

        它体积小、可配置、可靠且免费!

        【讨论】:

        • BitFactory 的作者现在要求支付少量许可费,以便下载最新版本的库。但是,费用确实非常低——单个开发人员 5 美元,10 位开发人员 29 美元,站点许可证 49 美元。旧版本似乎也可以免费下载。
        【解决方案6】:

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

        虽然这似乎不是一个很大的收获,但当我们最近将我们的框架移植到 Windows Compact Framework 时,这对我们来说是一个巨大的胜利,而且所有日志记录选项都不起作用。我们能够滑入一个空记录器,这将我们保存在该平台上。当然,请针对您的具体项目和需求进行评估。

        【讨论】:

          【解决方案7】:

          James Newton-King 大约一年前报道了log4net vs. Enterprise Library Logging,我认为它在很大程度上仍然是最新的。我的经验只与 EL 打交道,而且有起有落。如果你不利用每一个花里胡哨的优势,那么多层应用程序中的配置会很多,所以我可能会在我的下一个项目中尝试 log4net。

          【讨论】:

            【解决方案8】:

            试试Enterprise Library Logging Application Block

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

            【讨论】:

            【解决方案9】:

            查看 TraceSources 和 TraceListeners。它内置在 .NET 中并使用配置文件进行配置。

            【讨论】:

              【解决方案10】:

              我们一直使用 MS P&P Enterprise Library Logging Application Block。它不是特别酷或优雅,但它非常灵活且设计精良。我认为我们使用它的主要原因是我们使用了 EL 中的许多其他组件,它们当然都依赖于日志记录模块。 More Info Here.

              【讨论】:

                【解决方案11】:

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

                【讨论】:

                  【解决方案12】:

                  我仍然会说 Log4Net 是一个更安全的选择。许多其他开源项目也使用它,如果你曾经包含一个这样做的,那么你只是减少了一个依赖。

                  【讨论】:

                    【解决方案13】:

                    http://www.nlog-project.org/ - NLog

                    这是一个非常灵活且可配置的日志记录工具,非常轻量级。您可以将其设置为记录到许多不同的位置(控制台、SQL、文件...等)。非常容易使用。

                    Rob Connery 甚至在他的 Storefront MVC 项目中使用它...http://blog.wekeroad.com/mvc-storefront/

                    【讨论】:

                    • NLog 比 log2net 或“Microsoft Logging Block”快。
                    • +1 用于建议 log4net 的可行替代方案。
                    • 是否可以在运行时设置日志文件位置和名称?
                    【解决方案14】:

                    NLog 是一个不错的选择。

                    【讨论】:

                      【解决方案15】:

                      还有nLog,和nLog很相似,但更轻量级,配置更少。

                      【讨论】:

                        【解决方案16】:

                        是的。 Log4Net.

                        我已经用了一段时间了,真是救命啊!

                        【讨论】:

                          猜你喜欢
                          • 2010-12-16
                          • 1970-01-01
                          • 1970-01-01
                          • 2012-05-17
                          • 2013-12-11
                          • 1970-01-01
                          • 1970-01-01
                          • 2012-03-04
                          • 1970-01-01
                          相关资源
                          最近更新 更多