summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Allen <dan.j.allen@gmail.com>2021-03-29 23:53:03 -0600
committerGitHub <noreply@github.com>2021-03-29 23:53:03 -0600
commitab7d3bd2a97b2fcce250ad64e017fd4ebe557364 (patch)
treef6d92d93867e14e3e277dc4cf564015270695a6c
parentba098bef99206e08cab9304574720e93eb7a938b (diff)
resolves #3982 allow NullLogger to be enabled by setting the :logger option to a falsy value (PR #3983)
-rw-r--r--CHANGELOG.adoc1
-rw-r--r--lib/asciidoctor/load.rb4
-rw-r--r--test/logger_test.rb12
3 files changed, 15 insertions, 2 deletions
diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc
index 6dfcf37c..00512cc8 100644
--- a/CHANGELOG.adoc
+++ b/CHANGELOG.adoc
@@ -23,6 +23,7 @@ Improvements::
* Extract method to create lexer and formatter in Rouge adapter (#3952)
* Add support for pygments.rb 2.x (#3969) (*@slonopotamus*)
+ * Allow NullLogger to be enabled by setting the `:logger` option to a falsy value (#3982)
Build / Infrastructure::
diff --git a/lib/asciidoctor/load.rb b/lib/asciidoctor/load.rb
index 46d27c70..febe2f15 100644
--- a/lib/asciidoctor/load.rb
+++ b/lib/asciidoctor/load.rb
@@ -20,8 +20,8 @@ module Asciidoctor
timings.start :read
end
- if (logger = options[:logger]) && logger != LoggerManager.logger
- LoggerManager.logger = logger
+ if (options.key? :logger) && (logger = options[:logger]) != LoggerManager.logger
+ LoggerManager.logger = logger || NullLogger.new
end
if !(attrs = options[:attributes])
diff --git a/test/logger_test.rb b/test/logger_test.rb
index 77a0792e..87d18c75 100644
--- a/test/logger_test.rb
+++ b/test/logger_test.rb
@@ -129,6 +129,18 @@ context 'Logger' do
Asciidoctor::LoggerManager.logger = old_logger
end
end
+
+ test 'should be able to set logger to NullLogger by setting :logger option to a falsy value' do
+ [nil, false].each do |falsy_val|
+ old_logger = Asciidoctor::LoggerManager.logger
+ begin
+ Asciidoctor.load 'contents', logger: falsy_val
+ assert_kind_of Asciidoctor::NullLogger, Asciidoctor::LoggerManager.logger
+ ensure
+ Asciidoctor::LoggerManager.logger = old_logger
+ end
+ end
+ end
end
context 'Logging' do