为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
猛跑小猪 2021-11-14 16:05:25
这似乎是一件容易做的事情,也是一个普遍的愿望,但我很好奇实现它的好方法。我想在启动时将特定记录器的最小级别写入其日志文件。我经常查看日志并试图记住我是如何为该应用程序保留日志级别的,而不必挖掘 NLog.config 文件。我想要一个看起来像这样的日志条目:2018-08-03 09:38:23.7975 | 信息 | 从日志级别设置为:调试开始我可以看到我应该能够像这样访问 LoggingConfiguration:NLog.LogManager.Configuration但是我如何从中访问规则和最小级别?还有其他建议吗?如果您能在 NLog 教程之外推荐一些好的 NLog 资源,我将不胜感激。
查看完整描述

2 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

感谢您的评论和回答。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 | 信息 | 最低日志级别:调试


查看完整回答
反对 回复 2021-11-14
?
米脂

TA贡献1836条经验 获得超3个赞

也许是这样的:


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)


查看完整回答
反对 回复 2021-11-14
  • 2 回答
  • 0 关注
  • 163 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信