早晨看到的文章《》,其中说到这个同样开源且非常不错的日志记录工具却没什么中文资料。在TerryLee介绍前,我也不知道这个东西,于是就随便尝试了一下。
简单使用了一下之后,觉得NLog真的非常不错。如此漂亮的类库却没有中文资料,似乎有些可惜,于是尝试联系其作者Jaroslaw Kowalski请求翻译NLog网站中的一部分内容。没想到Jaroslaw Kowalski很快给我回了信表示同意,更巧的是居然我们还是同事!
文章目录
交流之后,我决定先从NLog网站的介绍文档开始,逐步翻译并介绍NLog的使用方法,直至最终推出NLog的中文版网站。接下来我也可能加入NLog开发团队,当然这是后话。在翻译的过程中,我会不断将译文发表至我的Blog之上,以下是我计划的文章列表(链接指向原英文页面,翻译过后将加入中文文章链接):
文档部分
- (、、) - NLog入门介绍
- - ( )配置文件介绍
- - ()Visual Studio中的snippets、智能感知等
- - NLog的性能
参考部分
- - 日志信息的输出目标
- - 日志信息的输出格式(纯文本、XML、CSV)
- - 指定输出信息中包含的内容(日期、时间、类名、方法名……)
- - 过滤输出信息
- - 过滤信息时用到的简单谓词语言
How to部分
- - 如何编写自定义的输出目标(Target)
- - ()
- - ( )
- - 如何编写自定义的条件函数(Condition Function)
- -( )
- - ( )
NLog简要介绍
(以下内容原文来自NLog网站的首页:)
NLog是一个简单灵活的.NET日志记录类库。通过使用NLog,我们可以在任何一种.NET语言中输出带有上下文的(contextual information)调试诊断信息,根据喜好配置其表现样式之后发送到一个或多个输出目标(target)中。
NLog的API非常类似于,且配置方式非常简单。NLog使用路由表(routing table)进行配置,但log4net却使用配置,这样就让NLog的配置文件非常容易阅读,并便于今后维护。
NLog遵从,即允许商业应用且完全开放源代码。任何人都可以免费使用并对其进行测试,然后通过邮件列表反馈问题以及建议。
NLog支持.NET、C/C++以及COM interop API,因此我们的程序、组件、包括用C++/COM 编写的遗留模块都可以通过同一个路由引擎将信息发送至NLog中。
NLog的.NET API的过滤信息功能执行效率很高,这样我们就可以一直保留程序中的日志写入代码,然后由NLog在运行时将其根据需要过滤掉。在一个1.6G单CPU笔记本电脑上,NLog每秒钟可以过滤掉1.5亿条日志写入语句!加上异步处理(asynchronous processing)以及其他包装程序(wrappers)的支持,NLog将成为一个极为强大的、且极具伸缩性的日志记录工具,