异常处理记录平面文件

时间:2011-11-23 06:21:43

标签: .net logging enterprise-library enterprise-library-5

我在asp.net中使用Microsoft Enterprise Library 5.0进行异常处理。错误存储在系统的事件查看器中。我需要使用Enterprise Library将这些错误存储在日志文件(文本文件)中,而不是事件查看器。我该如何实现呢?

2 个答案:

答案 0 :(得分:0)

你有什么问题?

你基本上需要一个名为File的新接收器,它将日志写入平面文件并进行适当配置。就是这样。

Here是一篇很好的文章,专门用于登录Enterprise Library,虽然有点过时。

以下是来自Microsoft的samples and hands-on labs,其中还包括日志记录示例。

答案 1 :(得分:0)

我假设您为事件日志配置了这样的配置:

        <add name="Event Log Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FormattedEventLogTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
            listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FormattedEventLogTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
            source="Enterprise Library Logging" formatter="Text Formatter"
            log="" machineName="." traceOutputOptions="None" />

只需用平面文件替换该配置即可。 E.g:

        <add name="Flat File Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
            listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
            fileName="trace.log" />

然后更改您的类别以使用新的“平面文件跟踪侦听器”。如果您没有使用最新版本,则需要将上述版本从5.0.505.0更改为5.0.414.0。

此外,您可以使用配置工具EntLibConfig.exe来简化这些更改,而无需担心涉及的XML。或者使用配置工具生成初始XML,然后您可以在配置文件中手动调整XML。

或者,作为另一种选择,您可以使用Fluent Configuration API使用代码而不是配置来配置日志记录。