以编程方式获取企业库日志记录中配置中指定的 defaultCategory?
Get defaultCategory specified in config in Enterprise Library Logging programmatically?
我无法找到编程方式来查找在 App.Config
中指定的用于记录的 defaultCategory
<loggingConfiguration name="loggingConfiguration" tracingEnabled="true"
defaultCategory="Service1">
<listeners>
重点是在进程中为每个日志添加默认类别,因此即使类别被重定向到不同的文件,每个服务仍将在其日志文件中包含所有日志。
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;
}
当在 web.config 或 app.config 中配置 Enterprise Library Logger 时,您可以使用以下代码访问 defaultCategory 属性的值(在我的示例 "General" 中):
<loggingConfiguration name="" defaultCategory="General" logWarningsWhenNoCategoriesMatch="true">....</loggingConfiguration>
string defaultCategory = string.Empty;
Logger.Writer.Configure(config => defaultCategory = config.DefaultSource);
我无法找到编程方式来查找在 App.Config
中指定的用于记录的 defaultCategory <loggingConfiguration name="loggingConfiguration" tracingEnabled="true"
defaultCategory="Service1">
<listeners>
重点是在进程中为每个日志添加默认类别,因此即使类别被重定向到不同的文件,每个服务仍将在其日志文件中包含所有日志。
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;
}
当在 web.config 或 app.config 中配置 Enterprise Library Logger 时,您可以使用以下代码访问 defaultCategory 属性的值(在我的示例 "General" 中):
<loggingConfiguration name="" defaultCategory="General" logWarningsWhenNoCategoriesMatch="true">....</loggingConfiguration>
string defaultCategory = string.Empty;
Logger.Writer.Configure(config => defaultCategory = config.DefaultSource);