From f3e12caa088cc893a54bc2810ff511e4c89b322b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lourens=20Naud=C3=A9?= Date: Sat, 28 Mar 2020 16:11:41 +0000 Subject: [PATCH] [ruby/logger] Let File::NULL ("/dev/null", "NUL" etc.) be considered a nil log device https://github.com/ruby/logger/commit/b42a1b99aa --- lib/logger.rb | 2 +- test/logger/test_logger.rb | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/logger.rb b/lib/logger.rb index f0b99f75a2..4000dae50c 100644 --- a/lib/logger.rb +++ b/lib/logger.rb @@ -385,7 +385,7 @@ class Logger self.datetime_format = datetime_format self.formatter = formatter @logdev = nil - if logdev + if logdev && logdev != File::NULL @logdev = LogDevice.new(logdev, shift_age: shift_age, shift_size: shift_size, shift_period_suffix: shift_period_suffix, diff --git a/test/logger/test_logger.rb b/test/logger/test_logger.rb index 521b5627d4..f8cc2e5bd6 100644 --- a/test/logger/test_logger.rb +++ b/test/logger/test_logger.rb @@ -378,4 +378,9 @@ class TestLogger < Test::Unit::TestCase log = log(logger, :debug) { "msg" } assert_nil log.msg end + + def test_does_not_instantiate_log_device_for_File_NULL + l = Logger.new(File::NULL) + assert_nil(l.instance_variable_get(:@logdev)) + end end