Class: Krikri::Logger

Inherits:
Object
  • Object
show all
Defined in:
lib/krikri/logger.rb

Overview

An application-wide tagged logger

Examples:

with default logger

Krikri::Logger.log :info, 'message'

with custom logger

logger = Logger.new(my_logger)
logger.log :info, 'message'

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(logger = ActiveSupport::TaggedLogging.new(Rails.logger)) ⇒ Logger

Returns a new instance of Logger.

Parameters:

  • logger (ActiveSupport::TaggedLogging) (defaults to: ActiveSupport::TaggedLogging.new(Rails.logger))


14
15
16
# File 'lib/krikri/logger.rb', line 14

def initialize(logger = ActiveSupport::TaggedLogging.new(Rails.logger))
  @logger = logger
end

Class Method Details

.log(priority, msg) ⇒ Object

Initializes a logger with the default settings and logs a message to it

See Also:



22
23
24
# File 'lib/krikri/logger.rb', line 22

def log(priority, msg)
  new.log(priority, msg)
end

Instance Method Details

#log(priority, msg) ⇒ Object

Log a message, tagged for application-wide consistency

Parameters:

  • priority (Symbol)

    a priority tag

  • msg (string)

    the message to log



32
33
34
35
36
# File 'lib/krikri/logger.rb', line 32

def log(priority, msg)
  @logger.tagged(Time.now.to_s, Process.pid, to_s) do
    @logger.send(priority, msg)
  end
end