C#日志记录。我应该使用什么?

12 浏览
0 Comments

C#日志记录。我应该使用什么?

我正在考虑切换到一种新的统一日志解决方案,用于我们的新产品系列,并想知道一些Stack Overflow上的人的想法。我们需要为各种应用程序进行日志记录:ASP .net、Windows服务、Web服务、WPF应用等。我们只使用Windows系统。

我们对日志记录解决方案的一些要求包括:

1)日志文件管理

- 能够在达到一定大小后拆分文件

- 能够在一定时间后自动归档/删除文件

2)能够在特定类型的消息被记录时发送电子邮件(例如错误消息)

3)能够将消息写入Windows事件日志

- 我们需要能够指定写入事件日志的位置。

- 如果事件日志源不存在,自动创建事件日志源也是一个不错的功能。

我已经开始研究nLog、Windows Trace和log4net。我不仅限于这三个,只是在搜索时经常出现的几个。

0
0 Comments

C#日志记录。我应该使用什么?

有时,我们在编写C#应用程序时需要记录日志。有很多日志记录框架可供选择,如NLog、CLog和log4net等。但是,是否有必要在我们的应用程序中引入一个依赖于.NET common logging的层次?这似乎是一种不必要的抽象。

与Java中的apache commons logging类似,.NET common logging是一个用于日志记录的通用接口。如果我们在编写的库将被其他代码使用,那么我们不希望强制要求使用特定的日志记录框架。因为这意味着客户端必须为每个框架都配置日志记录。如果我们选择使用log4net,而另一个库使用NLog,那么客户端必须同时配置这两个框架才能使用这两个库。而.NET common logging允许我们从客户端代码继承日志记录框架。

但是,如果我们想避免依赖于.NET common logging,我们有什么解决方法呢?其实,我们可以选择直接使用特定的日志记录框架,而不是引入一个通用的抽象层。

,我们可以通过使用.NET common logging,选择特定的日志记录提供程序或创建自定义的日志记录提供程序来记录C#应用程序的日志。如果我们不想依赖于.NET common logging,我们也可以直接选择一个特定的日志记录框架。这样做的好处是,我们可以避免客户端必须为每个框架都配置日志记录的问题。无论我们选择哪种方法,都可以满足我们的需求。

0
0 Comments

在上述内容中,提到了一个日志记录工具NLog,并列出了它的一些特点和功能。作者在之前的项目中使用过NLog,并发现它比Log4Net更容易配置。

C# Logging. What should I use?

在C#开发中,日志记录是一个非常重要的功能。它可以帮助我们跟踪和调试代码,定位问题并记录应用程序的运行情况。然而,选择一个适合自己项目的日志记录工具可能会令人困惑。在这篇文章中,我们将讨论为什么需要日志记录工具以及如何选择适合自己项目的工具。

为什么需要日志记录工具?

在开发过程中,我们经常需要查看应用程序的运行情况并记录关键信息,以便在出现问题时进行排查和分析。手动编写日志输出代码是一种方法,但这种方法会造成代码冗余,并且不易维护。因此,使用一个专门的日志记录工具是更好的选择。

解决方法:选择适合的日志记录工具

在选择合适的日志记录工具时,我们需要考虑以下几个因素:

1. 功能和特点:不同的日志记录工具提供不同的功能和特点。我们需要根据项目的需求选择合适的工具。例如,上述提到的NLog支持文件、事件日志、数据库、命令行控制台、电子邮件等多种日志输出方式。

2. 配置和使用:一个好的日志记录工具应该易于配置和使用。我们不希望在配置日志记录时花费太多时间和精力。根据作者的经验,NLog比Log4Net更容易配置。

3. 社区支持和文档:选择一个有活跃社区支持和完善文档的日志记录工具可以更好地解决问题和学习使用技巧。

选择一个适合自己项目的日志记录工具是非常重要的。在这篇文章中,我们讨论了为什么需要日志记录工具以及如何选择合适的工具。在实际开发中,我们可以根据项目需求和个人偏好选择合适的日志记录工具,并利用它帮助我们进行调试和错误排查。在此过程中,我们建议尝试使用NLog,因为它具有丰富的功能和较简单的配置方式。

0
0 Comments

C# Logging. What should I use?

在进行C#日志记录时,我们应该选择什么呢?这个问题的出现是因为有人问到了一个合适的日志记录框架的选择。下面是一些关于log4net和Serilog的讨论。

有人推荐使用log4net,因为它是一个非常好的选择。然而,也有人表示不同意,认为它不容易实现。尤其是对于那些从未使用过log4net的人来说,设置log4net是一件非常麻烦的事情。但是,也有人表示使用log4net要比自己编写一个日志记录框架要好。

对于那些想要使用log4net的人来说,可以在官方网站上找到如何设置logger的app.config示例。而且,只要愿意查阅文档,使用log4net实际上是非常容易的。但是,还是有人建议使用其他的日志记录框架。

目前,有人推荐使用Serilog。Serilog是一个易于使用的日志记录框架,支持结构化日志记录。与传统的文本日志不同,结构化日志可以记录更多的信息。如果想要使用Serilog,可以在官方网站上找到更多信息。

总结起来,当选择C#日志记录框架时,log4net和Serilog都是不错的选择。对于已经熟悉log4net的人来说,它可能是一个不错的选择。而对于那些从未使用过log4net的人来说,可能会觉得设置log4net非常麻烦。在这种情况下,可以考虑使用Serilog,它易于使用并支持结构化日志记录。

参考链接:

- log4net官方网站:http://logging.apache.org/log4net/

- Serilog官方网站:serilog.net

0