C# 生成xml日志的日志组件

C# 生成xml日志的日志组件,c#,.net,xml,logging,C#,.net,Xml,Logging,许多程序以如下格式将内容记录到文本文件中: 11/19/2008 13:29:01调试打开与本地主机的连接 11/19/2008 13:29:01调试发送用户“ADMIN”的登录消息 11/19/2008 13:29:03调试收到用户“ADMIN”的登录响应“OK” 但是,我更喜欢XML这样的结构化文档,这样我可以更轻松地解析日志。多年来,我一直在VB6/Asp经典程序中这样做,现在我想在.Net中这样做是否有任何东西可以实现这一点,或者我应该用C#重新编写VB6代码? 以下是对我的日志组件的

许多程序以如下格式将内容记录到文本文件中:

11/19/2008 13:29:01调试打开与本地主机的连接

11/19/2008 13:29:01调试发送用户“ADMIN”的登录消息

11/19/2008 13:29:03调试收到用户“ADMIN”的登录响应“OK”

但是,我更喜欢XML这样的结构化文档,这样我可以更轻松地解析日志。多年来,我一直在VB6/Asp经典程序中这样做,现在我想在.Net中这样做是否有任何东西可以实现这一点,或者我应该用C#重新编写VB6代码?

以下是对我的日志组件的调用如何查找我的VB6程序:

Trace.Warn "MMain", "Main(command, other data)", "Deprecated command", _
    sCommandName, sOtherData
导致以下日志条目:

<Info time="11/17/2008 04:49:45 PM" mod="MMain" proc="Main" entry="Deprecated command" command="The_Bad_Command" other_data="The other data." />

当我想用我的自定义日志查看器打开日志时,我只需将整个文件包装在一个根节点中,然后我就可以轻松地使用MSXML过滤我看到的条目,查找特定用户的登录名,等等

<Log>
...the log file text...
</Log>

…日志文件文本。。。

我不确定是否有任何产品可以做到这一点,但您可以使用并编写自己的(输出处理程序)。

Enterprise library Logging block提供不同的日志格式,如xml,但配置和处理它还有很长的路要走

没有一个库可以满足我的要求。我自己做了一个。

log4j和logback都有XMLLayouts,可以生成XML片段,然后可以由Apache Chainsaw或Lillith进行后处理