2016-04-07 37 views
0
Ben Günlüğü defaultCategory bulmak için programlı bir yol bulmak mümkün değilim

, o App.Config belirtilenEnterprise Library Logging uygulamasında programlı olarak belirtilen defaultCategory'i programlı olarak alın.

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

nokta süreci içinde her günlüğüne varsayılan Kategorisi eklemek için, bu yüzden bile kategoriler yönlendirilir farklı bir dosyaya, her hizmet kendi günlük dosyasında hala tüm günlükleri olacak.

cevap

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

Enterprise Library Kaydedici web.config'de yapılandırılan ya da (benim örnekte "Genel" olarak) kodu follwing ile defaultCategory özelliğinin değerini erişebilirler App.Config olduğunda:

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


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

Kısa açıklama yardımcı olabilir ... – yakobom