Class: RailsLogstasher::Logger

Inherits:
Logger
  • Object
show all
Defined in:
lib/rails-logstasher/logger.rb

Overview

Based on the ActiveSupport::Logger (Formerly known as BufferedLogger)

Defined Under Namespace

Classes: SimpleFormatter

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ Logger

Returns a new instance of Logger.



42
43
44
45
# File 'lib/rails-logstasher/logger.rb', line 42

def initialize(*args)
  super
  @formatter = SimpleFormatter.new
end

Class Method Details

.broadcast(logger) ⇒ Object

Broadcasts logs to multiple loggers.



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/rails-logstasher/logger.rb', line 8

def self.broadcast(logger) # :nodoc:
  Module.new do
    define_method(:add) do |*args, &block|
      logger.add(*args, &block)
      super(*args, &block)
    end

    define_method(:<<) do |x|
      logger << x
      super(x)
    end

    define_method(:close) do
      logger.close
      super()
    end

    define_method(:progname=) do |name|
      logger.progname = name
      super(name)
    end

    define_method(:formatter=) do |formatter|
      logger.formatter = formatter
      super(formatter)
    end

    define_method(:level=) do |level|
      logger.level = level
      super(level)
    end
  end
end