From a0409533866991529136224b549f53f2ab61c8e4 Mon Sep 17 00:00:00 2001 From: sonots Date: Mon, 18 Apr 2016 10:45:40 +0000 Subject: Allow specifying logger parameters in constructor * lib/logger.rb: Allow specifying logger prameters such as level, progname, datetime_format, formatter in constructor [Bug #12224] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/logger/test_logger.rb | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'test/logger/test_logger.rb') diff --git a/test/logger/test_logger.rb b/test/logger/test_logger.rb index 836d3b30f4..ce3952352c 100644 --- a/test/logger/test_logger.rb +++ b/test/logger/test_logger.rb @@ -166,6 +166,48 @@ class TestLogger < Test::Unit::TestCase assert_nil(logger.datetime_format) end + def test_initialize_with_level + # default + logger = Logger.new(STDERR) + assert_equal(Logger::DEBUG, logger.level) + # config + logger = Logger.new(STDERR, level: :info) + assert_equal(Logger::INFO, logger.level) + end + + def test_initialize_with_progname + # default + logger = Logger.new(STDERR) + assert_equal(nil, logger.progname) + # config + logger = Logger.new(STDERR, progname: :progname) + assert_equal(:progname, logger.progname) + end + + def test_initialize_with_formatter + # default + logger = Logger.new(STDERR) + log = log(logger, :info, "foo") + assert_equal("foo\n", log.msg) + # config + logger = Logger.new(STDERR, formatter: proc { |severity, timestamp, progname, msg| + "#{severity}:#{msg}\n\n" + }) + line = log_raw(logger, :info, "foo") + assert_equal("INFO:foo\n\n", line) + end + + def test_initialize_with_datetime_format + # default + logger = Logger.new(STDERR) + log = log_add(logger, INFO, "foo") + assert_match(/^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\s*\d+ $/, log.datetime) + # config + logger = Logger.new(STDERR, datetime_format: "%d%b%Y@%H:%M:%S") + log = log_add(logger, INFO, "foo") + assert_match(/^\d\d\w\w\w\d\d\d\d@\d\d:\d\d:\d\d$/, log.datetime) + end + def test_reopen logger = Logger.new(STDERR) logger.reopen(STDOUT) -- cgit v1.2.3