module ZuoraConnect
def self.configuration
def self.configuration @configuration ||= Configuration.new end
def self.configure
def self.configure yield(configuration) ::Apartment.excluded_models << "Delayed::Job" if configuration.delayed_job ::Apartment.excluded_models.concat(configuration.additional_apartment_models) if configuration.additional_apartment_models.class == Array return configuration end
def self.elastic_apm_defaults
def self.elastic_apm_defaults defaults = {} case Rails.env.to_s when 'production' defaults = { server_url: "https://apm-server.logging.svc.cluster.local:8200", secret_token:'afhfkulsahgcanriu2c7n8638w59cb67572YCAFAF38839095253', transaction_sample_rate: 0.20, capture_body: 'errors' } when 'staging' defaults = { server_url: "https://apm-server.logging.svc.cluster.local:8200", secret_token:'afhfkulsahgcanriu2c7n8638w59cb67572YCAFAF38839095253', transaction_sample_rate: 1.0 } when 'development' defaults = { server_url: "http://logging.0.ecc.auw2.zuora:8200", transaction_sample_rate: 1.0 } when 'test' defaults = { enabled: false, disable_send: true } end defaults.merge!({ disable_start_message: true, pool_size: 1, transaction_max_spans: 500, ignore_url_patterns: ['^\/admin\/resque.*', '^\/admin\/redis.*', '^\/admin\/peek.*', '^\/peek.*'], verify_server_cert: false, log_level: Logger::WARN, service_version: ENV['Z_APPLICATION_VERSION'].present? ? ENV['Z_APPLICATION_VERSION'] : '0.0.0', service_name: ENV['DEIS_APP'].present? ? ENV['DEIS_APP'] : ZuoraConnect.app_name, logger: ZuoraObservability::Logger.custom_logger(name: "ElasticAPM", level: Logger::WARN) }) defaults.merge!({disable_send: true}) if defined?(Rails::Console) return defaults end
def self.reset
def self.reset @configuration = Configuration.new end
def app_name
def app_name if Rails::VERSION::MAJOR >= 6 Rails.application.class.module_parent_name else Rails.application.class.parent_name end end
def logger
def logger case Rails.env.to_s when 'development' Rails.logger when 'test' Rails.logger else @logger ||= ZuoraObservability::Logger.custom_logger(name: "Connect", level: Rails.logger.level) end end