diff options
| author | Dan Allen <dan.j.allen@gmail.com> | 2021-03-29 23:53:03 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-29 23:53:03 -0600 |
| commit | ab7d3bd2a97b2fcce250ad64e017fd4ebe557364 (patch) | |
| tree | f6d92d93867e14e3e277dc4cf564015270695a6c | |
| parent | ba098bef99206e08cab9304574720e93eb7a938b (diff) | |
resolves #3982 allow NullLogger to be enabled by setting the :logger option to a falsy value (PR #3983)
| -rw-r--r-- | CHANGELOG.adoc | 1 | ||||
| -rw-r--r-- | lib/asciidoctor/load.rb | 4 | ||||
| -rw-r--r-- | test/logger_test.rb | 12 |
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 |
