标签: enterprise-library-6

如何检查是否已设置LogWriter?

我正在尝试处理从Enterprise Library 4升级到6后最近弹出的Enterprise Library 6 LogWriter异常.

我得到:

尚未为Logger静态类设置LogWriter.设置它调用Logger.SetLogWriter方法.

要么

LogWriter已设置.

......取决于场景.

问题是,它抛出一个InvalidOperationException似乎太通用的处理,甚至检查使用

if (Logger.Writer == null)
Run Code Online (Sandbox Code Playgroud)

...也产生异常,那么如何检查作者是否被设置?

c# logging exception-handling enterprise-library-6

10
推荐指数
2
解决办法
7089
查看次数

企业库6 LogCallHandler抛出异常"LogWriter尚未为Logger静态类设置"

伙计们

我正在尝试将LogCallHandler用于拦截,如下所示:

<interception>
        <policy name="policyLogCallHandler">
          <matchingRule name="LogsMachingRule" type="NamespaceMatchingRule">
            <constructor>
              <param name="namespaceName" value="NetTcpContracts" />
            </constructor>
          </matchingRule>
          <callHandler type="Microsoft.Practices.EnterpriseLibrary.Logging.PolicyInjection.LogCallHandler, Microsoft.Practices.EnterpriseLibrary.PolicyInjection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="callHandlerLog">
            <constructor>
              <param name="eventId" value="9002"/>
              <param name="logBeforeCall" value="true"/>
              <param name="logAfterCall" value="true"/>
              <param name="beforeMessage" value="--- begin"/>
              <param name="afterMessage" value="--- end"/>
              <param name="includeParameters" value="true"/>
              <param name="includeCallStack" value="true"/>
              <param name="includeCallTime" value="true"/>
              <param name="priority" value="1"/>
              <param name="order" value="1"/>
            </constructor>            
          </callHandler>
        </policy>        
      </interception>
Run Code Online (Sandbox Code Playgroud)

此配置引发异常:"尚未为Logger静态类设置LogWriter.设置它调用Logger.SetLogWriter方法."

我使用运行时配置找到了解决此问题的方法:

IConfigurationSource configurationSource = ConfigurationSourceFactory.Create();
LogWriterFactory logWriterFactory = new LogWriterFactory(configurationSource);
Logger.SetLogWriter(logWriterFactory.Create());
LogEntry entry = new LogEntry();
entry.Message = "I am …
Run Code Online (Sandbox Code Playgroud)

logging interception enterprise-library-6

6
推荐指数
2
解决办法
1万
查看次数

无法在配置源中找到"日志记录"的配置部分

我得到以下异常.我正在使用Enterprise Library 6.0 Application Logging Block.

    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: 
Run Code Online (Sandbox Code Playgroud)

代码库如下.

       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"
            });
        }
Run Code Online (Sandbox Code Playgroud)

请告诉我哪里出错了.

c# enterprise-library-6

6
推荐指数
1
解决办法
8124
查看次数

无法安装 Microsoft.Practices.EnterpriseLibrary.ConfigConsoleV6.vsix - “扩展无法安装在……已安装的产品上”

我单击 Microsoft.Practices.EnterpriseLibrary.ConfigConsoleV6.vsix。用于安装企业库配置。但它无法安装这个。我需要你的帮助,请参阅下面的查看安装日志

**6/23/2015 10:45:41 AM -   Supported Products : 
6/23/2015 10:45:41 AM -         Microsoft.VisualStudio.Ultimate
6/23/2015 10:45:41 AM -             Version : [11.0]
6/23/2015 10:45:41 AM -         Microsoft.VisualStudio.Premium
6/23/2015 10:45:41 AM -             Version : [11.0]
6/23/2015 10:45:41 AM -         Microsoft.VisualStudio.Pro
6/23/2015 10:45:41 AM -             Version : [11.0]
6/23/2015 10:45:41 AM - 
6/23/2015 10:45:41 AM -     References      : 
6/23/2015 10:45:41 AM -         -------------------------------------------------------
6/23/2015 10:45:41 AM -         Identifier   : Microsoft.VisualStudio.MPF
6/23/2015 10:45:41 AM -         Name         : Visual Studio MPF
6/23/2015 10:45:41 AM - …
Run Code Online (Sandbox Code Playgroud)

c# visual-studio-2013 enterprise-library-6

5
推荐指数
1
解决办法
993
查看次数