module Dapp::Dapp::Sentry
Public Instance Methods
_make_sentry_params(level: nil, tags: {}, extra: {}, user: {})
click to toggle source
# File lib/dapp/dapp/sentry.rb, line 37 def _make_sentry_params(level: nil, tags: {}, extra: {}, user: {}) Marshal.load(Marshal.dump({ level: level, tags: _sentry_tags_context.merge(tags), extra: _sentry_extra_context.merge(extra), user: _sentry_user_context.merge(user), })) end
_sentry_extra_context()
click to toggle source
# File lib/dapp/dapp/sentry.rb, line 46 def _sentry_extra_context @_sentry_extra_context ||= { "pwd" => Dir.pwd, "dapp-dir" => self.work_dir, "build-dir" => self.build_dir, "options" => self.options, "env-options" => { "DAPP_FORCE_SAVE_CACHE" => ENV["DAPP_FORCE_SAVE_CACHE"], "DAPP_BIN_DAPPFILE_YML" => ENV["DAPP_BIN_DAPPFILE_YML"], "ANSIBLE_ARGS" => ENV["ANSIBLE_ARGS"], "DAPP_CHEF_DEBUG" => ENV["DAPP_CHEF_DEBUG"], }, }.tap {|extra| extra["ci-env"] = {"CI" => ENV["CI"]} ENV.select {|k, v| k.start_with?("CI_")}.each do |k, v| extra["ci-env"][k] = v end } end
_sentry_user_context()
click to toggle source
# File lib/dapp/dapp/sentry.rb, line 92 def _sentry_user_context @__sentry_user_context ||= {} end
ensure_sentry_configured()
click to toggle source
# File lib/dapp/dapp/sentry.rb, line 19 def ensure_sentry_configured return false unless sentry_settings = settings["sentry"] unless @sentry_settings_configured Raven.configure do |config| logger = ::Logger.new(STDOUT) logger.level = ::Logger::WARN config.logger = logger config.dsn = sentry_settings["dsn"] end @sentry_settings_configured = true end return true end
sentry_exception(exception, **kwargs)
click to toggle source
# File lib/dapp/dapp/sentry.rb, line 10 def sentry_exception(exception, **kwargs) return if not ensure_sentry_configured (kwargs[:tags] ||= {})['error-code'] = begin net_status = exception.net_status [net_status[:context], net_status[:code]].compact.join('_') end Raven.capture_exception(exception, _make_sentry_params(**kwargs)) end
sentry_message(msg, **kwargs)
click to toggle source
# File lib/dapp/dapp/sentry.rb, line 4 def sentry_message(msg, **kwargs) return if not ensure_sentry_configured kwargs[:level] ||= "info" Raven.capture_message(msg, _make_sentry_params(**kwargs)) end