aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/logger.rb10
-rw-r--r--test/logger/test_logger.rb7
2 files changed, 13 insertions, 4 deletions
diff --git a/lib/logger.rb b/lib/logger.rb
index f3a29fa47d..63eece2e62 100644
--- a/lib/logger.rb
+++ b/lib/logger.rb
@@ -326,6 +326,7 @@ class Logger
# :call-seq:
# Logger.new(logdev, shift_age = 7, shift_size = 1048576)
# Logger.new(logdev, shift_age = 'weekly')
+ # Logger.new(logdev, level: :info)
#
# === Args
#
@@ -338,21 +339,22 @@ class Logger
# +shift_size+::
# Maximum logfile size (only applies when +shift_age+ is a number). Default
# value is 1MiB.
+ # +level+::
+ # The minimal severity level to log. Defaults to DEBUG.
#
# === Description
#
# Create an instance.
#
- def initialize(logdev, shift_age = 0, shift_size = 1048576)
+ def initialize(logdev, shift_age = 0, shift_size = 1048576, level: DEBUG)
@progname = nil
- @level = DEBUG
@default_formatter = Formatter.new
@formatter = nil
@logdev = nil
if logdev
- @logdev = LogDevice.new(logdev, :shift_age => shift_age,
- :shift_size => shift_size)
+ @logdev = LogDevice.new(logdev, shift_age: shift_age, shift_size: shift_size)
end
+ self.level = level
end
#
diff --git a/test/logger/test_logger.rb b/test/logger/test_logger.rb
index 836d3b30f4..fea7aa0613 100644
--- a/test/logger/test_logger.rb
+++ b/test/logger/test_logger.rb
@@ -292,4 +292,11 @@ class TestLogger < Test::Unit::TestCase
r.close
assert_equal("msg2\n\n", msg)
end
+
+ def test_initialize_specify_level
+ logger = Logger.new(STDERR) # default value
+ assert_equal(Logger::DEBUG, logger.level)
+ logger = Logger.new(STDERR, level: :info)
+ assert_equal(Logger::INFO, logger.level)
+ end
end