Sha256: 2151d56b70b1de595bc7bf6194a6f3a1b89a81e6f46e383e103c674eebafc7eb

Contents?: true

Size: 1.56 KB

Versions: 8

Compression:

Stored size: 1.56 KB

Contents

require 'active_support/all'
require 'logatron/version'
require 'logatron/const'
require 'logatron/contexts'
require 'logatron/message_formatting'
require 'logatron/basic_scoped_logger'
require 'logatron/basic_formatter'
require 'logatron/basic_logger'
require 'logatron/configuration'

module Logatron
  class << self
    attr_internal :log

    def logger
      @log ||= Logatron::BasicLogger.new
    end

    def log_exception(e, severity)
      logger.send(severity.downcase, "#{e.class} #{e.message} -> #{configuration.backtrace_cleaner.clean(e.backtrace).join(' -> ')}")
    end

    def level=(level)
      logger.level=level
    end
    def error(msg)
      logger.error(msg)
    end

    def warn(msg)
      logger.warn(msg)
    end

    def info(msg)
      logger.info(msg)
    end

    def fatal(msg)
      logger.fatal(msg)
    end

    def critical(msg)
      logger.critical(msg)
    end

    def debug(msg)
      logger.debug(msg)
    end

    def http_headers
      {
          'X-Ascent-Log-Id' => msg_id
      }
    end

    def log(id: msg_id, site: Logatron.site, msg: '-', severity: Logatron::INFO, request: '-', status: '-', source: '-', &block)
      logger.log(id: id, site: site, msg: msg, severity: severity, request: request, status: status, source: source, &block)
    end

    def site
      Logatron::Contexts.site
    end

    def site=(site)
      Logatron::Contexts.site = site
    end

    def msg_id
      Logatron::Contexts.msg_id
    end

    def msg_id=(id)
      Logatron::Contexts.msg_id = id
    end
  end
end

require 'logatron/railtie' if defined?(Rails)

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
logatron-0.2.3 lib/logatron/logatron.rb
logatron-0.2.2 lib/logatron/logatron.rb
logatron-0.2.1 lib/logatron/logatron.rb
logatron-0.2.0 lib/logatron/logatron.rb
logatron-0.1.11 lib/logatron/logatron.rb
logatron-0.1.4 lib/logatron/logatron.rb
logatron-0.1.2 lib/logatron/logatron.rb
logatron-0.1.1 lib/logatron/logatron.rb