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

本地开发环境New Relic自定义日志转发失败求助

自定义Winston日志无法转发到New Relic的排查与解决

核心配置修正

  1. 补全日志转发的Winston适配配置
    你的newrelic.js只开启了全局日志转发,但未明确启用Winston日志的捕获逻辑,需要补充以下配置:

    application_logging: {
      forwarding: {
        enabled: true
      },
      winston: {
        enabled: true // 必须添加此配置以激活Winston日志捕获
      }
    },
    

    New Relic Agent不会自动识别Winston实例,必须显式开启该适配开关。

  2. 确认Winston Enricher的集成顺序
    确保newrelic模块优先于Winston初始化,且Enricher正确挂载到Winston的格式链中:

    const newrelic = require('newrelic'); // 必须最先引入
    const winston = require('winston');
    const newrelicFormatter = require('@newrelic/winston-enricher');
    
    const logger = winston.createLogger({
      format: winston.format.combine(
        newrelicFormatter(), // 放在格式链的靠前位置
        winston.format.json()
      ),
      transports: [new winston.transports.Console()]
    });
    

    颠倒引入顺序会导致Agent无法捕获日志的上下文关联信息。

日志级别与过滤检查

  • 确认自定义日志的级别不低于Agent配置的logging.level(当前为info)。如果你的日志是debug级别,会被Agent自动过滤,需将logging.level调整为debug,或者提升自定义日志的级别至info及以上。

本地环境验证步骤

  1. 检查Agent日志
    打开newrelic_agent.log文件,搜索是否存在日志转发相关的错误、警告信息,比如网络连接失败、格式不兼容或权限问题。
  2. 重启应用
    修改newrelic.js配置后必须重启应用,确保新配置完全加载生效。

额外注意事项

  • 确认license_key为有效密钥,且本地网络可正常连接New Relic服务。
  • 自定义日志需包含标准的日志级别字段(如level),New Relic依赖此字段进行日志分类展示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 19:48:23