这似乎是一件容易的事,而且是一个普遍的愿望,但是我很好奇这样做的好方法。我想在启动时将特定记录器的最小级别写入其日志文件。我通常查看日志,并试图记住我如何离开该应用程序的日志级别,而不必挖掘NLog.config文件。我想要一个看起来像这样的日志条目:
2018-08-03 09:38:23.7975 |信息|从日志级别设置为: 调试
我看到我应该能够像这样访问LoggingConfiguration:
NLog.LogManager.Configuration
但是我该如何访问规则和最低级别?还有其他建议吗?如果您除了the NLog Tutorial以外还能提出一些好的NLog资源,我将不胜感激。
答案 0 :(得分:2)
谢谢您的评论和回答。 Severius5,您的答案(已删除?)给了我答案。这段代码可以满足我的需求:
var rules = NLog.LogManager.Configuration.LoggingRules;
var rule = rules.FirstOrDefault(x => x.LoggerNamePattern == "hostLogger");
NLog.LogManager.GetLogger("hostLogger").Info("Minimum Log Level: {0}", rule.Levels.Min());
它在日志中给了我这个输出:
2018-08-03 14:26:11.7439 |信息|最低日志级别:调试
答案 1 :(得分:2)
也许是这样的:
var logger = NLog.LogManager.GetLogger("hostLogger");
var minLogLevel = "Disabled";
if (logger.IsTraceEnabled)
minLogLevel = "Trace";
else if (logger.IsDebugEnabled)
minLogLevel = "Debug";
else if (logger.IsInfoEnabled)
minLogLevel = "Info";
else if (logger.IsWarnEnabled)
minLogLevel = "Warn";
else if (logger.IsErrorEnabled)
minLogLevel = "Error";
else if (logger.IsFatalEnabled)
minLogLevel = "Fatal";
logger.Info("Minimum Log Level: {0}", minLogLevel)