Sha256: a577e971b6c7aa27e373ff1ce13a95d4493e678c8d6f24e68dc18ec8d5e0e629

Contents?: true

Size: 849 Bytes

Versions: 3

Compression:

Stored size: 849 Bytes

Contents

require 'logger'

module RubyWolf
  class Logger < ::Logger
    def info(contents = "")
      pre_process(contents) do |content|
        super(content)
      end
    end

    def warn(contents = "")
      pre_process(contents) do |content|
        super(content)
      end
    end

    def debug(contents = "")
      pre_process(contents) do |content|
        super(content)
      end
    end

    def error(contents = "")
      pre_process(contents) do |content|
        super(content)
      end
    end

    def fatal(contents = "")
      pre_process(contents) do |content|
        super(content)
      end
    end

    private

    def pre_process(contents)
      object = Process.pid == MAIN_PID ? '[Main]' : "[Worker #{Process.pid}]"
      contents.to_s.split("\n").each do |line|
        yield("#{object} #{line}")
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ruby_wolf-0.3.3 lib/ruby_wolf/logger.rb
ruby_wolf-0.3.2 lib/ruby_wolf/logger.rb
ruby_wolf-0.3.1 lib/ruby_wolf/logger.rb