From: Giuseppe Bilotta Date: Fri, 4 Jun 2021 14:44:03 +0000 (+0200) Subject: logger: don't actually close the console logger X-Git-Url: https://git.netwichtig.de/gitweb/?a=commitdiff_plain;ds=sidebyside;h=8a458c02a29b1d7c41b9420eabc90ba40bbe960a;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git logger: don't actually close the console logger We nil the internal variable, but we should not close the logger itself, since this leads to STDERR being closed and the interpreter reopening it for its own needs, or something like that, which ultimately leads to the interpreter's warning appearing in console (probably due to ruby itself reopening stderr to be able to output the messages). If we simply nil the variable, the interpreter is content with sending us the messages per our shenanigangs, and everything works just as expected. --- diff --git a/lib/rbot/logger.rb b/lib/rbot/logger.rb index 4189151c..494324d9 100644 --- a/lib/rbot/logger.rb +++ b/lib/rbot/logger.rb @@ -21,7 +21,6 @@ class Bot end def disable_console_logger - @console_logger.close if @console_logger @console_logger = nil end @@ -84,6 +83,8 @@ class Bot end def log_session_start + # if we forked, the thread may be dead, so let's restart it if necessary + start_thread if @file_logger @file_logger << "\n\n=== session started on #{Time.now.strftime(@dateformat)} ===\n\n" end