lib/gitlab/qa/runtime/logger.rb
# frozen_string_literal: true require 'logger' require 'forwardable' require'rainbow/refinement' module Gitlab 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($stdout).tap do |logger| logger.level = Runtime::Env.debug? ? ::Logger::DEBUG : ::Logger::INFO logger.formatter = proc do |severity, datetime, progname, msg| date_format = datetime.strftime("%Y-%m-%d %H:%M:%S") "[date=#{date_format} from=GitLab QA] #{severity.ljust(5)}-- ".yellow + "#{msg}\n" end end end end end end end end