7

我得到以下异常。我正在使用 Enterprise Library 6.0 应用程序日志记录块。

    System.InvalidOperationException was unhandled by user code
  HResult=-2146233079
  Message=The configuration section for Logging cannot be found in the configuration source.
  Source=Microsoft.Practices.EnterpriseLibrary.Logging
  StackTrace:
       at Microsoft.Practices.EnterpriseLibrary.Logging.LogWriterFactory.LogWriterConfigurationBuilder.Create()
       at Microsoft.Practices.EnterpriseLibrary.Logging.LogWriterFactory.Create()
       at Logger..ctor() in \MBSLogger.cs:line 19
       at EventLoggingTest.test_log_simple_exception() in c:\Users\Vinay.Joseph\Documents\Visual Studio 2013\EventLoggingTest.cs:line 20
  InnerException: 

代码库如下。

       IConfigurationSource configurationSource = ConfigurationSourceFactory.Create();
        LogWriterFactory logWriterFactory = new LogWriterFactory(configurationSource);
        Logger.SetLogWriter(logWriterFactory.Create());


        if (!Logger.IsLoggingEnabled())
        {

        }
        else { 
            Logger.Write(new LogEntry(){
                Severity = System.Diagnostics.TraceEventType.Information,
                TimeStamp = DateTime.Now,
                Message = "Hello World"
            });
        }

请告诉我哪里出错了。

4

2 回答 2

9

app/web.config 是什么样的?你有日志配置设置吗?

<section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
于 2015-02-06T03:28:53.297 回答
0

如果您已经在web.config文件中设置了配置部分,它可能仍然会因此类异常而失败,因为ConfigurationSourceFactory.Create()有时无法解析该部分。

一种可能的解决方法是使用

IConfigurationSource configurationSource = new FileConfigurationSourceFactory(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
于 2018-09-05T16:55:21.037 回答