0

Я не в состоянии найти программный способ найти defaultCategory для лесозаготовительной, который указан в App.ConfigПолучить стандартную категорию, указанную в конфигурации в журнале регистрации предприятий, программно?

<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

Когда Enterprise Library Logger настраивается в web.config или app.config вы можете получить доступ к значению атрибута defaultCategory с follwing код (в моем примере "General"):

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


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

Краткое объяснение может помочь ... – yakobom