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

如何仅在生产环境启用Bugsnag错误上报?

配置Bugsnag仅上报生产环境错误

核心思路是根据当前运行环境的标识,控制Bugsnag的上报开关,只在生产环境开启错误上报。以下是主流技术栈的具体配置方式:

  • JavaScript/React 项目
    在初始化Bugsnag时,通过环境变量判断是否启用:

    import Bugsnag from '@bugsnag/js'
    import BugsnagReact from '@bugsnag/plugin-react'
    
    // 仅在生产环境初始化Bugsnag
    if (process.env.NODE_ENV === 'production') {
      Bugsnag.start({
        apiKey: '你的API密钥',
        plugins: [new BugsnagReact()],
        enabled: true
      })
    }
    

    或者如果已经全局初始化,也可以直接通过enabled参数控制:

    Bugsnag.start({
      apiKey: '你的API密钥',
      plugins: [new BugsnagReact()],
      enabled: process.env.NODE_ENV === 'production'
    })
    
  • Node.js 项目
    同样基于环境变量判断,仅在生产环境启动Bugsnag:

    const bugsnag = require('@bugsnag/node')
    
    if (process.env.NODE_ENV === 'production') {
      bugsnag.start({
        apiKey: '你的API密钥'
      })
    }
    
  • Ruby on Rails 项目
    在config/initializers/bugsnag.rb中配置:

    Bugsnag.configure do |config|
      config.api_key = '你的API密钥'
      # 仅在生产环境启用上报
      config.enabled = Rails.env.production?
    end
    
  • Android 项目
    根据BuildConfig的DEBUG标识关闭开发环境的自动上报:

    import com.bugsnag.android.Bugsnag;
    
    public class MyApplication extends Application {
      @Override
      public void onCreate() {
        super.onCreate();
        if (!BuildConfig.DEBUG) {
          Bugsnag.start(this);
        } else {
          // 开发环境禁用自动上报
          Bugsnag.setAutoCaptureEnabled(false);
        }
      }
    }
    
  • iOS 项目
    在AppDelegate中利用DEBUG宏控制:

    import Bugsnag
    
    @UIApplicationMain
    class AppDelegate: UIResponder, UIApplicationDelegate {
      func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        #if DEBUG
          Bugsnag.configuration().autoCaptureEnabled = false
        #else
          Bugsnag.start(withApiKey: "你的API密钥")
        #endif
        return true
      }
    }
    

核心原则就是:通过环境标识(环境变量、框架自带的环境判断工具),让Bugsnag仅在生产环境下初始化或开启自动上报功能,从而避免开发环境的错误干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 08:40:39