2016-04-07 28 views
0

我不能夠找到編程的方式找到defaultCategory的日誌記錄,在App.Config中指定以編程方式獲取企業庫日誌中配置中指定的defaultCategory?

<loggingConfiguration name="loggingConfiguration" tracingEnabled="true" 
    defaultCategory="Service1"> 
    <listeners> 

問題的關鍵是在過程中默認目錄添加到每個日誌,所以即使類別被重定向到不同的文件,每個服務將仍然有他的日誌文件中的所有日誌。

回答

0
 private static string TryGetDefaultCategory() 
     { 
      string result = null; 
      try 
      { 
       var configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 

       var loggingSection = 
         configuration.Sections.OfType<Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings>().First(); 
       result = loggingSection?.DefaultCategory; 
      } 
      catch (Exception ex) 
      { 
       // Error("[Logging] Failed to get Default Category", ex); 
      } 
      return result; 
     } 
0

當企業庫記錄儀在web.config中配置或App.config中你可以與follwing代碼(在我的例子中的「常規」)訪問defaultCategory屬性的值:

<loggingConfiguration name="" defaultCategory="General" logWarningsWhenNoCategoriesMatch="true">....</loggingConfiguration> 


string defaultCategory = string.Empty; 
Logger.Writer.Configure(config => defaultCategory = config.DefaultSource); 
+0

一個簡短的說明有幫助... – yakobom

相關問題