class ChiliLogger

class for centralizing Creative's logging logic

class for centralizing Creative's logging logic

class for centralizing Creative's logging logic

class for centralizing Creative's logging logic

class for centralizing Creative's logging logic

class for wrapping all other gem's classes

class for centralizing Creative's logging logic

class for centralizing Creative's logging logic

class for centralizing Creative's logging logic

class for centralizing Creative's logging logic

class for centralizing Creative's logging logic

class for centralizing Creative's logging logic

class for centralizing Creative's logging logic

class for centralizing Creative's logging logic

class for centralizing Creative's logging logic

class for centralizing Creative's logging logic

class for centralizing Creative's logging logic

Constants

VERSION

Attributes

deactivated[RW]
msg_broker[R]

Public Class Methods

new() click to toggle source
# File lib/chili_logger.rb, line 21
def initialize
  @default = ChiliLogger::Values::Default.new
  @user_uniformizer = ChiliLogger::Values::TypeUniformizer::User.new
  @desc_uniformizer = ChiliLogger::Values::TypeUniformizer::Desc.new
  @main_content_uniformizer = ChiliLogger::Values::TypeUniformizer::MainContent.new
end

Public Instance Methods

config(config) click to toggle source
# File lib/chili_logger.rb, line 28
def config(config)
  @deactivated = config[:deactivated] || false # ChilLogger can be deactivated for test environents

  config_logging_error_handler(config)
  config_msg_writer(config)
  config_msg_broker(config)
  config_unpublished_logs_manager

  @current_log_accessor = CurrentLogAccessor.new(@msg_broker, @msg_writer)
end
current_log() click to toggle source
# File lib/chili_logger.rb, line 39
def current_log
  @current_log_accessor
end
publish_instant_log(**options) click to toggle source
# File lib/chili_logger.rb, line 53
def publish_instant_log(**options)
  # enforces that all attributes have valid primitive types
  if options
    options[:desc] = @desc_uniformizer.desc(options[:desc])
    options[:user] = @user_uniformizer.user(options[:user])
    options[:main_content] = @main_content_uniformizer.main_content(options[:main_content])
  end

  message = @msg_writer.write(options)
  @msg_broker.publish(message)
end
republish_unpublished_logs() click to toggle source
# File lib/chili_logger.rb, line 65
def republish_unpublished_logs
  @unpublished_logs_manager.republish
end
start_new_log(**options) click to toggle source
# File lib/chili_logger.rb, line 43
def start_new_log(**options)
  current_log.clear_log_info

  current_log.update_desc(options[:desc])
  current_log.update_user(options[:user])
  current_log.update_main_content(options[:main_content])

  current_log
end

Private Instance Methods

config_logging_error_handler(general_config) click to toggle source
# File lib/chili_logger.rb, line 71
def config_logging_error_handler(general_config)
  fallback_name = general_config[:fallback_broker]
  fallback_config = general_config[:fallback_broker_config]
  @logging_error_handler = LoggingErrorHandler.new(fallback_name, fallback_config)
end
config_msg_broker(general_config) click to toggle source
# File lib/chili_logger.rb, line 88
def config_msg_broker(general_config)
  msg_broker_name = general_config[:msg_broker_name]
  msg_broker_config = general_config[:msg_broker_config]

  @msg_broker = MainBroker.new(msg_broker_name, msg_broker_config, @logging_error_handler)
end
config_msg_writer(general_config) click to toggle source
# File lib/chili_logger.rb, line 77
def config_msg_writer(general_config)
  msg_writer_config = {
    env: general_config[:log_env]&.downcase,
    layer: general_config[:log_layer]&.downcase,
    server_url: general_config[:server_url],
    cloud_provider: general_config[:cloud_provider]
  }

  @msg_writer = MessageWriter.new(msg_writer_config)
end
config_unpublished_logs_manager() click to toggle source
# File lib/chili_logger.rb, line 95
def config_unpublished_logs_manager
  @unpublished_logs_manager = UnpublishedLogsManager.new(@msg_broker, @logging_error_handler)
end