diff --git a/lib/logger.rb b/lib/logger.rb index 4000dae..854687c 100644 --- a/lib/logger.rb +++ b/lib/logger.rb @@ -410,7 +410,7 @@ def initialize(logdev, shift_age = 0, shift_size = 1048576, level: DEBUG, # 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 f8cc2e5..4bbfd52 100644 --- a/test/logger/test_logger.rb +++ b/test/logger/test_logger.rb @@ -216,6 +216,13 @@ def test_reopen 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"