class ManageIQ::Loggers::CloudWatch

Constants

NAMESPACE_FILE

Public Class Methods

new(*args) click to toggle source
Calls superclass method ManageIQ::Loggers::Base::new
# File lib/manageiq/loggers/cloud_watch.rb, line 9
def self.new(*args)
  access_key_id     = ENV["CW_AWS_ACCESS_KEY_ID"].presence
  secret_access_key = ENV["CW_AWS_SECRET_ACCESS_KEY"].presence
  log_group_name    = ENV["CLOUD_WATCH_LOG_GROUP"].presence
  log_stream_name   = ENV["HOSTNAME"].presence

  container_logger = ManageIQ::Loggers::Container.new
  return container_logger unless access_key_id && secret_access_key && log_group_name && log_stream_name

  require 'cloudwatchlogger'

  creds = {:access_key_id => access_key_id, :secret_access_key => secret_access_key}
  cloud_watch_logdev = CloudWatchLogger::Client.new(creds, log_group_name, log_stream_name)
  super(cloud_watch_logdev).tap { |logger| logger.extend(ActiveSupport::Logger.broadcast(container_logger)) }
end
new(logdev, *args) click to toggle source
Calls superclass method ManageIQ::Loggers::Base::new
# File lib/manageiq/loggers/cloud_watch.rb, line 25
def initialize(logdev, *args)
  super
  self.formatter = ManageIQ::Loggers::Container::Formatter.new
end