summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/logger.rb2
-rw-r--r--test/logger/test_logger.rb5
2 files changed, 6 insertions, 1 deletions
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