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

NLog Memory Target无法生成日志问题咨询

解决NLog Memory Target无日志输出的问题
  • 检查Logger规则是否关联Memory Target
    确保配置文件<rules>节点下,对应logger的writeTo属性包含Memory Target的名称(比如你配置里Memory Target的name是memory,那writeTo要写成writeTo="file,memory")。File Target能正常工作说明规则关联了file,但大概率漏加了memory。

  • 确认Memory Target配置参数无误
    检查Memory Target的配置,比如有没有误设enabled="false",或者layout配置存在语法错误(虽然不强制要求,但错误配置可能导致目标失效)。

  • 修正日志获取代码
    必须从NLog已加载的配置中获取Memory Target实例,不能自行新建。正确的获取方式示例:

    var memoryTarget = LogManager.Configuration.FindTargetByName<MemoryTarget>("memory");
    if (memoryTarget != null)
    {
        var logs = memoryTarget.Logs;
        // 处理日志逻辑
    }
    

    自行new的MemoryTarget实例和NLog配置里的不是同一个,自然拿不到日志。

  • 排查日志级别过滤规则
    检查Memory Target的minLevel属性,或者logger规则中的level设置,确保你输出的日志级别(如Debug、Info)满足过滤条件。比如如果Memory Target的minLevel设为Warn,那Info及以下级别的日志不会被捕获。

  • 验证NLog配置是否正确加载
    程序启动时可添加代码验证配置是否加载成功:

    var config = LogManager.Configuration;
    var allTargets = config.AllTargets; // 查看集合中是否包含你的Memory Target
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 17:32:13