Sha256: b3ddc50b0e761cff65bb771c53339e6d354db7b35568d11e3fbc1c8a46b890d1

Contents?: true

Size: 622 Bytes

Versions: 1

Compression:

Stored size: 622 Bytes

Contents

require 'logger'
require 'fileutils'

class DedicatedLogger < Logger

  def initialize logger_name, filename, options={}
    @logger_name = logger_name

    log_dir = File.absolute_path(options[:log_dir] || "log")
    FileUtils.mkdir_p(log_dir) unless File.exists? log_dir

    super File.join(log_dir, "#{filename}.log")
  end

  def format_message severity, timestamp, progname, msg
    msg = "#{timestamp.strftime("%Y-%m-%d %H:%M:%S")} #{@logger_name} [#{$$}] #{severity}: #{msg}\n"

    if %w(WARN ERROR FATAL).include?(severity.to_s)
      STDERR.puts(msg)
    else
      STDOUT.puts(msg)
    end

    msg
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dedicated_logger-0.0.3 lib/dedicated_logger.rb