You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中通过NLog配置规则实现特定优先级日志输出

问题场景与代码整理

你提供的Logger类和日志配置内容我已经帮你整理成清晰的格式,方便后续实现log方法:

Logger类代码

public class Logger : ILogging { 
    private ILogger _logger; 
    public Logger() { 
        _logger = LoggerFactory<ILogging>.Resolve(); 
    } 
    public void log(string priority, string message) { 
        //待实现代码 
    } 
}

日志配置文件内容

<rules > 
    <logger name="Priority1" minlevel="Error" writeTo="logfile" /> 
    <logger name="Priority2" minlevel="Warn" writeTo="logfile" /> 
    <logger name="Priority3" minlevel="Debug" writeTo="logfile" /> 
    <!-- 你提到的"logger n..."应该是未完成的配置项,后续可以补充完整 -->
</rules>

简单实现思路参考

如果要完成log方法,大概可以按这几步来:

  • 先加载解析配置文件,把每个priority(对应配置里的name)和对应的最低日志级别minlevel存入映射集合
  • 调用log方法时,根据传入的priority找到对应的minlevel
  • 判断当前日志的实际级别是否满足该priority的最低要求(比如如果是Error级别,要检查是否符合对应规则的minlevel)
  • 若满足级别要求,调用_logger的相关方法将日志写入logfile

内容的提问来源于stack exchange,提问作者user3580768

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:18:24