4
|
Simon Randy Burden · 技术社区 · 14 年前 |
1
1
我理解为什么您不想通过依赖第三方API来污染您的业务代码。 然而,事实上System.Diagnostics.Trace并不像其他日志框架(如entlib和log4net)那样灵活。 我所做的工作是开发一个受log4net强烈影响的内部API,它使用提供者模型设计模式在任何合适的日志框架上提供一个瘦包装器。我有system.diagnostics.trace、log4net和entlib的提供者。基本概念与 The Common Infrastructure for .NET 日志记录库。 这样,您的业务代码就只依赖于您自己的内部API,并且可以在运行时使用配置选择日志框架。 当然,您可以通过坚持System.Diagnostics.Trace并为SMTP编写自己的跟踪侦听器来实现您想要的目标。( See this CodeProject sample )或是滚动的原木。或者编写自己的traceListener,将其重定向到日志框架(如log4net),这样您就可以访问该框架支持的日志记录器。 |
2
3
您也可以查看UKADC.diagnostics here 它包含几个跟踪侦听器。更有趣的是,它增加了使用格式化语句的能力(比如log4net和nlog支持什么)。因此,您对日志文件的布局有更多的控制,包括记录哪些字段、字段的顺序、至少部分字段的格式(如数据/时间格式)。甚至可以编写自己的“令牌”,然后在格式化语句中引用它们。它不支持几乎与log4net或nlog相同的格式选项,也不支持几乎相同数量的跟踪侦听器,但对于基于System.Diagnostics的解决方案,它是从System.Diagnostics中提供的“开箱即用”功能中真正提高的。 |
3
2
这不算是一个库,但我曾经写过一次文本框侦听器,这样我就可以将文本框放到表单上,然后自动获取跟踪输出….
|
4
2
http://essentialdiagnostics.codeplex.com/ 提供对默认跟踪的扩展 |
5
1
企业库日志记录应用程序块“扩展”System.Diagnostics.TraceSource等类。 |
Cowbless · C#如何对大列表的内容实现生存时间函数 7 年前 |
ShadyOrb09 · 手动关闭另一个进程后,如何关闭该进程? 8 年前 |
Mostafa · 单击文件链接时加载文件名和运行 10 年前 |
Jos Vinke · System.Diagnostics跟踪源名称的通配符 11 年前 |