通过 Syslog4NET 整合 Linux 和 Windows 日志

  • Jeff Martin
  • 江舒

2014 年 4 月 14 日

话题:.NET语言 & 开发

无论什么服务器环境,都需要准确记录日志。为了便于集中管理日志,应用程序通常会把日志记录到主机操作系统的中央日志系统上。对于 Windows 系统这指的是事件查看器(Event Viewer),而 Linux/UNIX 系统则是指 Syslog,这种状况已经持续了几十年。这种系统级的差异使得在异构环境下很难统一日志管理。正如其名字显示的那样,Syslog4net为.NET 应用程序提供了一种简单的方式可以直接把日志记录到 Syslog 守护进程 。

Syslog4net 是log4net的一个插件,借助于该插件 log4net 能够创建出符合 RFC5424 标准的信息。虽然 log4net 现在可以把消息写入 Syslog 服务器,但是并不满足 Syslog4net 提供的标准格式。使用 RFC5424 标准可以提供更多的域,包括消息优先级,应用程序名称和多个主机间的主机名。该小组指出,除了这些域,Syslog4net 还可以用来记录异常。异常信息会被记录到 Syslog,而异常的全部细节(消息,堆栈跟踪等)则会被记录在本地。这保证了发生异常时不会出现日志溢出的情况。最后,Syslog4net 满足任何数据(键、值)记录的需求。

Syslog4net 由 Dominic Lachowicz 和 Joe Polino 编写,版权归 Merchant Warehouse LLC 所有。该项目是开源的,且在 Apache 许可下可用。项目文件托管在GitHub上,使用的语言是 C#。

查看英文原文:Integrating Windows Logging Through Linux With Syslog4NET


感谢孙镜涛对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

.NET语言 & 开发