blob: 81c410000331ae65d6935ef5f3546a6222ba8e21 (
plain)
1
2
3
4
5
6
7
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
|
# frozen_string_literal: true
require 'logger'
require 'forwardable'
require 'rainbow/refinement'
module QA
module Runtime
module Logger
extend SingleForwardable
using Rainbow
def_delegators :logger, :debug, :info, :warn, :error, :fatal, :unknown
singleton_class.module_eval do
attr_writer :logger
def logger
Rainbow.enabled = Runtime::Env.colorized_logs?
@logger ||= ::Logger.new(Runtime::Env.log_destination).tap do |logger|
logger.level = Runtime::Env.debug? ? ::Logger::DEBUG : ::Logger::ERROR
logger.formatter = proc do |severity, datetime, progname, msg|
date_format = datetime.strftime("%Y-%m-%d %H:%M:%S")
"[date=#{date_format} from=QA Tests] #{severity.ljust(5)} -- ".yellow + "#{msg}\n"
end
end
end
end
end
end
end
|