]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/commitdiff
New logging systems now works correctly even when the bot is daemonized
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Thu, 27 Jul 2006 10:05:52 +0000 (10:05 +0000)
committerGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Thu, 27 Jul 2006 10:05:52 +0000 (10:05 +0000)
lib/rbot/ircbot.rb

index 8030fd41a8cc80fad926fdddcdec8e1b5b47b978..d435ac4c23a862cc9598ce16a5188b094751c69a 100644 (file)
@@ -35,23 +35,23 @@ def log_session_end
 end
 
 def debug(message=nil, who_pos=1)
-  rawlog(Logger::Severity::DEBUG, message)
+  rawlog(Logger::Severity::DEBUG, message, who_pos)
 end
 
 def log(message=nil, who_pos=1)
-  rawlog(Logger::Severity::INFO, message)
+  rawlog(Logger::Severity::INFO, message, who_pos)
 end
 
 def warning(message=nil, who_pos=1)
-  rawlog(Logger::Severity::WARN, message)
+  rawlog(Logger::Severity::WARN, message, who_pos)
 end
 
 def error(message=nil, who_pos=1)
-  rawlog(Logger::Severity::ERROR, message)
+  rawlog(Logger::Severity::ERROR, message, who_pos)
 end
 
 def fatal(message=nil, who_pos=1)
-  rawlog(Logger::Severity::FATAL, message)
+  rawlog(Logger::Severity::FATAL, message, who_pos)
 end
 
 debug "debug test"
@@ -282,8 +282,18 @@ class IrcBot
         # On Windows, there's not such thing as /dev/null
         STDIN.reopen "NUL"
       end
-      STDOUT.reopen @logfile, "a"
-      STDERR.reopen @logfile, "a"
+      def STDOUT.write(str=nil)
+        log str, 2
+        return str.to_s.length
+      end
+      def STDERR.write(str=nil)
+        if str.to_s.match(/:\d+: warning:/)
+          warning str, 2
+        else
+          error str, 2
+        end
+        return str.to_s.length
+      end
     end
 
     # Set the new logfile and loglevel. This must be done after the daemonizing