Module: Vines::Log

Constant Summary collapse

@@logger =
nil

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.set_log_file(file) ⇒ Object



24
25
26
# File 'lib/vines/log.rb', line 24

def self.set_log_file(file)
  @@logger = Logger.new(file)
end

Instance Method Details

#logObject



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/vines.rb', line 43

def log
  unless @@logger
    @@logger = Logger.new(STDOUT)
    @@logger.level = Logger::INFO
    @@logger.progname = 'vines'
    @@logger.formatter = Class.new(Logger::Formatter) do
      def initialize
        @time = "%Y-%m-%dT%H:%M:%SZ".freeze
        @fmt  = "[%s] %5s -- %s: %s\n".freeze
      end
      def call(severity, time, program, msg)
        @fmt % [time.utc.strftime(@time), severity, program, msg2str(msg)]
      end
    end.new
  end
  @@logger
end