使用AppSettings配置文件中的NLog LogLevel值

时间:2016-12-19 20:43:38

标签: nlog

我需要从另一个应用程序配置NLog设置,基本上我有一个主应用程序和一个配置应用程序,需要从配置应用程序设置一些日志设置。

我在下面尝试过但minlevelenum并且无效.. :(

<logger name="*" minlevel="${appsetting:MinimumLogLevel}" writeTo="File" />

对于这项工作,任何建议都是完美的吗?

由于

1 个答案:

答案 0 :(得分:2)

a属性确实不是minlevel,因此您无法使用`$ {appsetting}等布局渲染器。

你可以通过编程方式完成:

Layout

或者如果它适用于所有规则,您可以使用var configuration = LogManager.Configuration; //TODO find correct rule var rule = configuration.LoggingRules[0]; //disable all rule.DisableLoggingForLevel(LogLevel.Trace); rule.DisableLoggingForLevel(LogLevel.Debug); rule.DisableLoggingForLevel(LogLevel.Trace); rule.DisableLoggingForLevel(LogLevel.Info); rule.DisableLoggingForLevel(LogLevel.Warn); rule.DisableLoggingForLevel(LogLevel.Error); rule.DisableLoggingForLevel(LogLevel.Fatal); var minLevelRaw = System.Configuration.ConfigurationManager.AppSettings["minLevel"]; var minLevel = LogLevel.FromString(minLevelRaw); //enable correct one rule.EnableLoggingForLevels(minLevel, LogLevel.Fatal); //enable from minLevel to fatal LogManager.Configuration = configuration;

GlobalThreshold