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



85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/pdksync/logger.rb', line 85

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

.debug(message) ⇒ Object



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

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

.error(message) ⇒ Object



53
54
55
# File 'lib/pdksync/logger.rb', line 53

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

.fatal(message) ⇒ Object



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

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

.info(message) ⇒ Object



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

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

.log_fileObject



57
58
59
60
61
62
63
# File 'lib/pdksync/logger.rb', line 57

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



102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'lib/pdksync/logger.rb', line 102

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



65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/pdksync/logger.rb', line 65

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



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

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

Instance Method Details

#loggerObject



81
82
83
# File 'lib/pdksync/logger.rb', line 81

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