诊断监视器跟踪监听器

问题描述:

我想知道是否可以修改跟踪记录跟踪信息的方式?诊断监视器跟踪监听器

 Trace.Listeners.Add(new DiagnosticMonitorTraceListener()); 
     Trace.TraceInformation("OnStart"); 

我想能够使用当前的WADLogsTable并添加一个或多个自定义列到表中。 现在由DiagnosticMonitorConfiguration创建的默认表看起来像这样:

PartitionKey | RowKey | Timestamp | EventTickCount | DeploymentID | Role | RoleInstance | Level | EventID | Pid | TiD | Message |

我想在最后添加像一些自定义列:

PartitionKey | RowKey |时间戳| EventTickCount | DeploymentID |角色| RoleInstance |等级|事件ID | PID | TID |留言|自定义1 |自定义2

所以我每次追踪的东西,我可以添加这两个自定义列的数据 谢谢

我不认为你能够做到这一点。尽管Windows Azure诊断功能非常具有可扩展性,但您将无法修改模式以进行跟踪日志记录。我会建议看看实施自定义诊断。您可能会发现此链接对此有用:http://convective.wordpress.com/2009/12/08/custom-diagnostics-in-windows-azure/

正如Gaurav所提到的,这对Trace的默认实现是不可行的。

我建议使用类似Log4Net的东西,并实现一个自定义表存储appender。我已经在很多项目上完成了它,并且它的工作非常好。它(Log4Net)也可以使用定期的跟踪消息并将它们记录到其存储器中