Sha256: 923f4a971fc80ce5a3de60570ed6f58ab28e4190046097b7dae0bcf4bb2c3806

Contents?: true

Size: 785 Bytes

Versions: 4

Compression:

Stored size: 785 Bytes

Contents

require 'logger'

module Lono
  class Logger < ::Logger
    def initialize(*args)
      super
      self.formatter = Formatter.new
      self.level = ENV['LONO_LOG_LEVEL'] || :info # note: only respected when config.logger not set in config/app.rb
    end

    def format_message(severity, datetime, progname, msg)
      line = if @logdev.dev == $stdout || @logdev.dev == $stderr || @logdev.dev.is_a?(StringIO)
        msg # super simple format if stdout
      else
        super # use the configured formatter
      end
      line =~ /\n$/ ? line : "#{line}\n"
    end

    # Used to allow output to always go to stdout
    def stdout(msg, newline: true)
      if newline
        puts msg
      else
        print msg
      end
    end

    public :print
    public :printf
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
lono-8.0.0.pre.rc6 lib/lono/logger.rb
lono-8.0.0.pre.rc5 lib/lono/logger.rb
lono-8.0.0.pre.rc4 lib/lono/logger.rb
lono-8.0.0.pre.rc3 lib/lono/logger.rb