Class: Gitlab::QA::TestLogger
- Inherits:
-
Object
- Object
- Gitlab::QA::TestLogger
- Defined in:
- lib/gitlab/qa/test_logger.rb
Overview
Common test logger implementation
Constant Summary collapse
- LEVEL_COLORS =
{ "DEBUG" => :magenta, "INFO" => :green, "WARN" => :yellow, "ERROR" => :red, "FATAL" => :indianred }.freeze
Class Method Summary collapse
Class Method Details
.logger(level: ::Logger::INFO, source: 'Gitlab QA') ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/gitlab/qa/test_logger.rb', line 21 def self.logger(level: ::Logger::INFO, source: 'Gitlab QA') ::Logger.new($stdout).tap do |logger| logger.level = level logger.formatter = proc do |severity, datetime, progname, msg| date_format = datetime.strftime("%Y-%m-%d %H:%M:%S") msg_prefix = "[date=#{date_format} from=#{source}] #{severity.ljust(5)} -- " Rainbow(msg_prefix).public_send(LEVEL_COLORS.fetch(severity, :silver)) + "#{msg}\n" # rubocop:disable GitlabSecurity/PublicSend end end end |