Module: Cogger

Extended by:
Registry
Defined in:
lib/cogger.rb,
lib/cogger/hub.rb,
lib/cogger/tag.rb,
lib/cogger/entry.rb,
lib/cogger/level.rb,
lib/cogger/program.rb,
lib/cogger/registry.rb,
lib/cogger/time/span.rb,
lib/cogger/time/unit.rb,
lib/cogger/time/clock.rb,
lib/cogger/time/range.rb,
lib/cogger/rack/logger.rb,
lib/cogger/configuration.rb,
lib/cogger/refines/logger.rb,
lib/cogger/formatters/json.rb,
lib/cogger/formatters/color.rb,
lib/cogger/formatters/crash.rb,
lib/cogger/formatters/emoji.rb,
lib/cogger/formatters/simple.rb,
lib/cogger/refines/log_device.rb,
lib/cogger/formatters/abstract.rb,
lib/cogger/formatters/property.rb,
lib/cogger/formatters/parsers/key.rb,
lib/cogger/formatters/parsers/emoji.rb,
lib/cogger/formatters/parsers/element.rb,
lib/cogger/formatters/parsers/abstract.rb,
lib/cogger/formatters/parsers/combined.rb,
lib/cogger/formatters/parsers/position.rb,
lib/cogger/formatters/transformers/key.rb,
lib/cogger/formatters/sanitizers/escape.rb,
lib/cogger/formatters/sanitizers/filter.rb,
lib/cogger/formatters/transformers/color.rb,
lib/cogger/formatters/transformers/emoji.rb,
lib/cogger/formatters/sanitizers/format_time.rb

Overview

Computes default program name based on current file name.

Defined Under Namespace

Modules: Formatters, Rack, Refines, Registry, Time Classes: Configuration, Entry, Hub, Tag

Constant Summary collapse

DATETIME_FORMAT =
"%Y-%m-%dT%H:%M:%S%:z"
LEVELS =
%w[debug info warn error fatal unknown].freeze
Level =
lambda do |logger = Logger, environment: ENV, allowed: LEVELS|
  value = String environment.fetch("LOG_LEVEL", "INFO")

  return logger.const_get value.upcase if allowed.include? value.downcase

  fail ArgumentError, %(Invalid log level: #{value.inspect}. Use: #{allowed.to_usage "or"}.)
end
Program =
lambda do |name = $PROGRAM_NAME|
  Pathname(name).then { |path| path.basename(path.extname).to_s }
end

Class Method Summary collapse

Methods included from Registry

add_alias, add_emojis, add_filters, add_formatter, aliases, color, defaults, emojis, extended, filters, formatters, get_emoji, get_formatter, templates

Class Method Details

.loader(registry = Zeitwerk::Registry) ⇒ Object



19
20
21
# File 'lib/cogger.rb', line 19

def self.loader registry = Zeitwerk::Registry
  @loader ||= registry.loaders.each.find { |loader| loader.tag == File.basename(__FILE__, ".rb") }
end

.newObject



23
# File 'lib/cogger.rb', line 23

def self.new(...) = Hub.new(...)