class OohlalogSyslog::FileWatcher
Public Class Methods
new(filename, options = {})
click to toggle source
# File lib/oohlalog_syslog/file_watcher.rb, line 6 def initialize(filename, options = {}) @filename = filename @category = options["category"] || "NA" @options = options min_level = options["min_log_level"].to_i || 'DEBUG' level = 0 if min_level == 'INFO' level = 1 elsif min_level == 'WARN' level = 2 elsif min_level == 'ERROR' level = 3 elsif min_level == 'FATAL' level = 4 end @logger = Oohlalog::Logger.new(100, level, options) end
Public Instance Methods
run()
click to toggle source
# File lib/oohlalog_syslog/file_watcher.rb, line 24 def run File::Tail::Logfile.open(@filename) do |log| log.backward(0) log.tail do |line| if @options.has_key?("error_pattern") && line.match(@options["error_pattern"]) @logger.error(line, @category) elsif @options.has_key?("fatal_pattern") && line.match(@options["fatal_pattern"]) @logger.fatal(line, @category) elsif @options.has_key?("warn_pattern") && line.match(@options["warn_pattern"]) @logger.warn(line, @category) elsif @options.has_key?("info_pattern") && line.match(@options["info_pattern"]) @logger.info(line, @category) elsif @options.has_key?("debug_pattern") && line.match(@options["debug_pattern"]) @logger.debug(line, @category) else @logger.info(line, @category) end end end end