]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blobdiff - bin/rbot
fix: restart logger thread after fork
[user/henk/code/ruby/rbot.git] / bin / rbot
index 024b431346235d6985c33d482c904025706a50b0..8c65f42cadaa63f7ec7718392232181762f46e38 100755 (executable)
--- a/bin/rbot
+++ b/bin/rbot
@@ -41,13 +41,11 @@ Please note that the logfile doesn't contain IRC logs (which are located at
 #
 # This is free software, see COPYING for licensing details
 
-$VERBOSE=true
-
 require 'etc'
 require 'getoptlong'
 require 'fileutils'
 
-$version ||= '0.9.14'
+$version ||= '0.9.15'
 $version_timestamp ||= 0
 $opts = Hash.new
 
@@ -63,17 +61,13 @@ opts = GetoptLong.new(
   ["--version", "-v", GetoptLong::NO_ARGUMENT]
 )
 
-$debug = $DEBUG
 $daemonize = false
 
 opts.each {|opt, arg|
-  $debug = true if(opt == "--debug")
   $daemonize = true if(opt == "--background")
   $opts[opt.sub(/^-+/, "")] = arg
 }
 
-$cl_loglevel = $opts["loglevel"].to_i if $opts["loglevel"]
-
 if ($opts["trace"])
   set_trace_func proc { |event, file, line, id, binding, classname|
     if classname.to_s == $opts["trace"]
@@ -89,8 +83,10 @@ if File.directory? "#{defaultlib}/rbot"
     $:.unshift defaultlib
   end
 end
-  
+
 begin
+  Encoding.default_internal = Encoding::UTF_8
+  Encoding.default_external = Encoding::UTF_8
   require 'rbot/ircbot'
 rescue LoadError => e
   puts "Error: couldn't find the rbot/ircbot module (or one of its dependencies)\n"
@@ -115,6 +111,13 @@ if ($opts["help"])
   exit 0
 end
 
+# setup logger based on command line arguments
+loglevel = $opts['loglevel'] ? $opts['loglevel'].to_i : nil
+loglevel = $opts['debug'] ? 0 : loglevel
+if loglevel
+  Irc::Bot::LoggerManager.instance.set_level(loglevel)
+end
+
 if(bot = Irc::Bot.new(ARGV.shift, :argv => orig_opts))
   # just run the bot
   bot.mainloop