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

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

2018-08-03 09:38:23.7975 | 信息 | 从日志级别设置为:调试开始

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

NLog.LogManager.Configuration

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


猛跑小猪
浏览 164回答 2
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 | 信息 | 最低日志级别:调试

米脂

也许是这样的: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)
打开App,查看更多内容
随时随地看视频慕课网APP