class SeleniumStatistics::Logger
SeleniumStatistics.logger.warn(‘This is warning message’)
SeleniumStatistics.logger.info(‘This is info message’)
@example Use logger manually
SeleniumStatistics.logger.output = ‘watir.log’
@example Log to file
SeleniumStatistics.logger.level = :debug
@example Enable full logging
def create_logger(output)
def create_logger(output) logger = ::Logger.new(output) logger.progname = 'SeleniumStatistics' logger.level = ($DEBUG ? DEBUG : WARN) logger.formatter = proc do |severity, time, progname, msg| "#{time.strftime('%F %T')} #{severity} #{progname} #{msg}\n" end logger end
def deprecate(old, new)
-
new
(String
) -- -
old
(String
) --
def deprecate(old, new) warn "[DEPRECATION] #{old} is deprecated. Use #{new} instead." end
def initialize
def initialize @logger = create_logger($stdout) end
def io
- Api: - private
def io @logger.instance_variable_get(:@logdev).instance_variable_get(:@dev) end
def level=(severity)
def level=(severity) if severity.is_a?(Integer) @logger.level = severity else case severity.to_s.downcase when 'debug'.freeze @logger.level = DEBUG when 'info'.freeze @logger.level = INFO when 'warn'.freeze @logger.level = WARN when 'error'.freeze @logger.level = ERROR when 'fatal'.freeze @logger.level = FATAL when 'unknown'.freeze @logger.level = UNKNOWN else raise ArgumentError, "invalid log level: #{severity}" end end end
def output=(io)
def output=(io) # `Logger#reopen` was added in Ruby 2.3 if @logger.respond_to?(:reopen) @logger.reopen(io) else @logger = create_logger(io) end end