Sha256: 52af3dc087817cef8cd09e5014bb21db96cc7f7a9b745d1dd9580ca9344894cf

Contents?: true

Size: 1.3 KB

Versions: 13

Compression:

Stored size: 1.3 KB

Contents

require 'cloud_formation/bridge/util'
require 'singleton'
require 'rollbar'

Rollbar.configure do |config|
  config.access_token = ENV['ROLLBAR_TOKEN']
  config.environment = ENV['CFN_ENVIRONMENT'] || 'development'
  config.enabled = config.environment != 'test'
end

module CloudFormation
  module Bridge

    class StdoutExceptionNotifier

      include Singleton

      def report_exception(exception, custom_data = {}, user_data = {})
        Util::LOGGER.error("#{exception.message} - #{custom_data.inspect} - #{user_data.inspect}\n#{exception.backtrace.join("\n")}")
      end

    end

    class RollbarExceptionNotifier

      include Singleton

      def report_exception(exception, custom_data = {}, user_data = {})
        Rollbar.report_exception(exception, custom_data, user_data)
      end

    end

    class ExceptionNotifier

      class << self

        def notifier
          @notifier ||= if ENV['ROLLBAR_TOKEN']
            RollbarExceptionNotifier.instance
          else
            StdoutExceptionNotifier.instance
          end
        end

        def notifier=(notifier)
          @notifier = notifier
        end

        def report_exception(exception, custom_data = {}, user_data = {})
          Rollbar.report_exception(exception, custom_data, user_data)
        end

      end

    end


  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
cfn-bridge-0.0.16 lib/cloud_formation/bridge/exception_notifier.rb
cfn-bridge-0.0.15 lib/cloud_formation/bridge/exception_notifier.rb
cfn-bridge-0.0.14 lib/cloud_formation/bridge/exception_notifier.rb
cfn-bridge-0.0.13 lib/cloud_formation/bridge/exception_notifier.rb
cfn-bridge-0.0.11 lib/cloud_formation/bridge/exception_notifier.rb
cfn-bridge-0.0.10 lib/cloud_formation/bridge/exception_notifier.rb
cfn-bridge-0.0.9 lib/cloud_formation/bridge/exception_notifier.rb
cfn-bridge-0.0.8 lib/cloud_formation/bridge/exception_notifier.rb
cfn-bridge-0.0.7 lib/cloud_formation/bridge/exception_notifier.rb
cfn-bridge-0.0.6 lib/cloud_formation/bridge/exception_notifier.rb
cfn-bridge-0.0.5 lib/cloud_formation/bridge/exception_notifier.rb
cfn-bridge-0.0.4 lib/cloud_formation/bridge/exception_notifier.rb
cfn-bridge-0.0.3 lib/cloud_formation/bridge/exception_notifier.rb