diff --git a/lib/logger.rb b/lib/logger.rb index 4000dae50c..854687c720 100644 --- a/lib/logger.rb +++ b/lib/logger.rb @@ -410,7 +410,7 @@ class Logger # Reopen a log device. # def reopen(logdev = nil) - @logdev.reopen(logdev) + @logdev&.reopen(logdev) self end diff --git a/test/logger/test_logger.rb b/test/logger/test_logger.rb index f8cc2e5bd6..4bbfd523c0 100644 --- a/test/logger/test_logger.rb +++ b/test/logger/test_logger.rb @@ -216,6 +216,13 @@ class TestLogger < Test::Unit::TestCase assert_equal(STDOUT, logger.instance_variable_get(:@logdev).dev) end + def test_reopen_nil_logdevice + logger = Logger.new(File::NULL) + assert_nothing_raised do + logger.reopen(STDOUT) + end + end + def test_add logger = Logger.new(nil) logger.progname = "my_progname"