【问题标题】:Exception Handling Logging in a flat file平面文件中的异常处理日志
【发布时间】:2011-11-23 06:21:43
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    我假设您对事件日志有这样的配置:

            <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" />
    

    只需将该配置替换为平面文件即可。例如:

            <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 使用代码而不是配置来配置日志记录。

    【讨论】:

      【解决方案2】:

      你有什么问题?

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

      Here 是一篇不错的文章,专门用于记录到 Enterprise Library,虽然有点过时了。

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

      【讨论】:

      • 是的,我可以使用动手实验室帮助来实现这一点,但所有异常都在登录事件查看器。我需要在一个平面文件中实现它。
      • 我只想了解配置部分,我已经编写了代码,但只想配置设置,以便我可以将其写入平面文件而不是事件查看器。
      猜你喜欢
      • 1970-01-01
      • 2018-10-14
      • 2012-10-06
      • 1970-01-01
      • 2011-08-08
      • 2010-11-10
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      相关资源
      最近更新 更多