Sha256: 60ded2c66dc57373c899daa847bd5cc85faa5f2dde26d59952b7d2cff26af046
Contents?: true
Size: 1.96 KB
Versions: 9
Compression:
Stored size: 1.96 KB
Contents
# typed: strict require 'logger' require 'colorized_string' module Kuby class BasicLogger < Logger extend T::Sig sig { override.params( logdev: T.any(String, IO, StringIO, NilClass), shift_age: Integer, shift_size: Integer, level: Integer, progname: T.nilable(String), formatter: T.nilable(FormatterProcType), datetime_format: T.nilable(String), shift_period_suffix: T.nilable(String) ).void } def initialize( logdev, shift_age = 0, shift_size = 1048576, level: DEBUG, progname: nil, formatter: nil, datetime_format: nil, shift_period_suffix: '%Y%m%d') @logdev = T.let(@logdev, T.nilable(Logger::LogDevice)) super self.formatter = proc do |_severity, _datetime, _progname, msg| "#{msg}\n" end end sig { override.params( progname_or_msg: T.untyped, block: T.nilable(T.proc.returns(T.untyped)) ).void } def info(progname_or_msg = nil, &block) if block super(progname_or_msg) { ColorizedString[block.call].yellow } else super(ColorizedString[progname_or_msg].yellow) end end sig { override.params( progname_or_msg: T.untyped, block: T.nilable(T.proc.returns(T.untyped)) ).void } def fatal(progname_or_msg = nil, &block) if block super(progname_or_msg) { ColorizedString[block.call].red } else super(ColorizedString[progname_or_msg].red) end end # adhere to the "CLI" interface sig { params( out: T.any(IO, StringIO), err: T.any(IO, StringIO), block: T.proc.void ).void } def with_pipes(out = STDOUT, err = STDERR, &block) previous_logdev = @logdev&.dev || STDERR reopen(err) yield ensure reopen(previous_logdev) end sig { returns(T.nilable(Process::Status)) } def last_status nil end end end
Version data entries
9 entries across 9 versions & 1 rubygems