0

在我的应用程序中,我使用企业库日志记录应用程序块将异常记录到 DB。此外,我使用流利的 API 来配置日志记录应用程序块。

我注意到的事情:

  1. 当我没有使用 Fluent API 并且数据库日志记录失败时,它会将异常记录到 Windows 事件日志中。(5.0 版)
  2. 但是当我使用它(Fluent API)时,如果数据库发生故障,它不会在任何地方记录异常,即使在窗口事件日志中也是如此。

我的问题:

  1. 这是企业库日志记录应用程序块的正常行为吗?
  2. 有没有什么方法可以使用流畅的 API 获得没有它的功能,意思是(以防数据库日志记录失败记录到 Windows 事件日志)。

如有任何差异,请随时提出建议。:-)

4

1 回答 1

2

确切的语法取决于您现有的配置。假设您没有配置要使用的跟踪侦听器或格式化程序:

configurationSourceBuilder
    .ConfigureLogging()
    .SpecialSources.LoggingErrorsAndWarningsCategory
    .SendTo.EventLog("Event Log Listener")
    .FormatWith(new FormatterBuilder().TextFormatterNamed("Text Formatter"));

如果您已经配置了要使用的事件日志跟踪侦听器(在此示例中名为“事件日志侦听器”):

configurationSourceBuilder
    .ConfigureLogging()
    .SpecialSources.LoggingErrorsAndWarningsCategory
    .SendTo.SharedListenerNamed("Event Log Listener");

如果您已经配置了要使用的日志格式化程序(在此示例中名为“文本格式化程序”):

configurationSourceBuilder
    .ConfigureLogging()
    .SpecialSources.LoggingErrorsAndWarningsCategory
    .SendTo.EventLog("Event Log Listener")
    .FormatWithSharedFormatter("Text Formatter");
于 2013-08-01T13:31:32.357 回答