summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>2021-06-04 16:44:03 +0200
committerMatthias Hecker <36882671+mattzque@users.noreply.github.com>2021-06-05 18:06:45 +0200
commit8a458c02a29b1d7c41b9420eabc90ba40bbe960a (patch)
treec8b657c5c205bb41dd6a933f3e2a5f70c543f6b5
parent3c9454d8a1f649f62a4f45461337434a791b1109 (diff)
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.
-rw-r--r--lib/rbot/logger.rb3
1 files changed, 2 insertions, 1 deletions
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