class Insights::Loggers::CloudWatch

Constants

NAMESPACE_FILE

Public Class Methods

new(*args) click to toggle source
Calls superclass method
# File lib/insights/loggers/cloud_watch.rb, line 10
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 = Insights::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
# File lib/insights/loggers/cloud_watch.rb, line 26
def initialize(logdev, *args)
  super
  self.formatter = ManageIQ::Loggers::Container::Formatter.new
  self.level = ENV['LOG_LEVEL'] if ENV['LOG_LEVEL']
end