lib/slogger/logger.rb in slogger-0.0.1 vs lib/slogger/logger.rb in slogger-0.0.2

- old
+ new

@@ -61,22 +61,30 @@ @level_as_int = LEVEL[level] @facility = facility @facility_as_int = FACILITY[facility] end - def method_missing(name, *args) - if LEVEL.key? name - log(name, args[0]) - else - super name, *args + LEVEL.each_key do |level| + define_method level do |message, &block| + log(level, message, &block) end end private - def log(level, message) + def log(level, message, &block) return if LEVEL[level] > @level_as_int + if block_given? + began_at = Time.now + + yield + + now = Time.now + end_at = now - began_at + message = "[#{end_at}s] #{message}" + end + Syslog.open(@app_name, Syslog::LOG_PID, @facility_as_int) { |s| s.send level, message } end end end