将最小级别记录到日志文件

Logging minlevel to log file

这似乎是一件很容易做的事情,也是一种普遍的愿望,但我很好奇有什么好的方法可以做到这一点。我想在启动时将特定记录器的最小级别写入其日志文件。我经常查看日志并试图记住我是如何在不必挖掘 NLog.config 文件的情况下为该应用程序保留日志级别的。我想要一个看起来像这样的日志条目:

2018-08-03 09:38:23.7975 | INFO | Starting with Log Level set to: Debug

我可以看到我应该能够访问 LoggingConfiguration:

NLog.LogManager.Configuration

但是我如何从中访问规则和最小级别?还有其他建议吗?如果您能在 the NLog Tutorial 之外推荐一些好的 NLog 资源,我将不胜感激。

感谢您的评论和回答。 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 | INFO | Minimum Log Level: Debug

也许是这样的:

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)