aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLourens Naudé <lourens@bearmetal.eu>2020-03-28 16:16:00 +0000
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2020-06-11 13:54:04 +0900
commitae93ebae677f685aab155d7982c64c1cb6e4b69c (patch)
tree5c0178b45048383b1a733743d98670018fcb98ca
parentf3e12caa088cc893a54bc2810ff511e4c89b322b (diff)
downloadruby-ae93ebae677f685aab155d7982c64c1cb6e4b69c.tar.gz
[ruby/logger] Let Logger#reopen not raise on nil log devices
https://github.com/ruby/logger/commit/da7bf844e5
-rw-r--r--lib/logger.rb2
-rw-r--r--test/logger/test_logger.rb7
2 files changed, 8 insertions, 1 deletions
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"