Class: PdkSync::Logger

Inherits:
Object
  • Object
show all
Defined in:
lib/pdksync/logger.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.color(severity) ⇒ Object



81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/pdksync/logger.rb', line 81

def self.color(severity)
  case severity
  when ::Logger::Severity::WARN, 'WARN'
    :yellow
  when ::Logger::Severity::INFO, 'INFO'
    :green
  when ::Logger::Severity::FATAL, 'FATAL'
    :fatal
  when ::Logger::Severity::ERROR, 'ERROR'
    :fatal
  when ::Logger::Severity::DEBUG, 'DEBUG'
    :light_blue
  else
    :green
  end
end

.crit(message) ⇒ Object



49
50
51
# File 'lib/pdksync/logger.rb', line 49

def self.crit(message)
  logger.error(message)
end

.debug(message) ⇒ Object



41
42
43
# File 'lib/pdksync/logger.rb', line 41

def self.debug(message)
  logger.debug(message)
end

.fatal(message) ⇒ Object



45
46
47
# File 'lib/pdksync/logger.rb', line 45

def self.fatal(message)
  logger.fatal(message)
end

.info(message) ⇒ Object



37
38
39
# File 'lib/pdksync/logger.rb', line 37

def self.info(message)
  logger.info(message)
end

.log_fileObject



53
54
55
56
57
58
59
# File 'lib/pdksync/logger.rb', line 53

def self.log_file
  if ENV['PDKSYNC_LOG_FILENAME'] && File.exist?(ENV['PDKSYNC_LOG_FILENAME'])
    ENV['PDKSYNC_LOG_FILENAME']
  else
    STDOUT
  end
end

.log_levelObject



98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# File 'lib/pdksync/logger.rb', line 98

def self.log_level
  level = ENV['LOG_LEVEL'].downcase if ENV['LOG_LEVEL']
  case level
  when 'warn'
    ::Logger::Severity::WARN
  when 'fatal'
    ::Logger::Severity::FATAL
  when 'debug'
    ::Logger::Severity::DEBUG
  when 'info'
    ::Logger::Severity::INFO
  when 'error'
    ::Logger::Severity::ERROR
  else
    ::Logger::Severity::INFO
  end
end

.logger(file = PdkSync::Logger.log_file) ⇒ Object



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/pdksync/logger.rb', line 61

def self.logger(file = PdkSync::Logger.log_file)
  @logger ||= begin
    log = ::Logger.new(file)
    log.level = log_level
    log.progname = 'PdkSync'
    log.formatter = proc do |severity, datetime, progname, msg|
      if PdkSync::Logger.log_file == STDOUT
        "#{severity} - #{progname}: #{msg}\n".send(color(severity))
      else
        "#{datetime} #{severity} - #{progname}: #{msg}\n".send(color(severity))
      end
    end
    log
  end
end

.warn(message) ⇒ Object



33
34
35
# File 'lib/pdksync/logger.rb', line 33

def self.warn(message)
  logger.warn(message)
end

Instance Method Details

#loggerObject



77
78
79
# File 'lib/pdksync/logger.rb', line 77

def logger
  @logger ||= PdkSync::Logger.logger
end