Skip to content

Commit 757faf0

Browse files
committed
[rb] improve logger logic
1 parent fb21cac commit 757faf0

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

rb/lib/selenium/webdriver/common/logger.rb

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -127,13 +127,6 @@ def debug(message, id: [], &block)
127127
# @yield see #deprecate
128128
#
129129
def info(message, id: [], &block)
130-
unless @first_warning
131-
@first_warning = true
132-
info("Details on how to use and modify Selenium logger:\n", id: [:logger_info]) do
133-
"https://selenium.dev/documentation/webdriver/troubleshooting/logging\n"
134-
end
135-
end
136-
137130
discard_or_log(:info, message, id, &block)
138131
end
139132

@@ -203,6 +196,15 @@ def discard_or_log(level, message, id)
203196
return if (@ignored & id).any?
204197
return if @allowed.any? && (@allowed & id).none?
205198

199+
return if ::Logger::Severity.const_get(level.upcase) < @logger.level
200+
201+
unless @first_warning
202+
@first_warning = true
203+
info("Details on how to use and modify Selenium logger:\n", id: [:logger_info]) do
204+
"https://selenium.dev/documentation/webdriver/troubleshooting/logging\n"
205+
end
206+
end
207+
206208
msg = id.empty? ? message : "[#{id.map(&:inspect).join(', ')}] #{message} "
207209
msg += " #{yield}" if block_given?
208210

rb/spec/unit/selenium/webdriver/common/logger_spec.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,10 @@ module WebDriver
105105
end
106106

107107
describe '#info' do
108-
it 'logs info on first info but not second' do
108+
it 'logs info on first displayed logging only' do
109109
logger = described_class.new('Selenium', default_level: :info)
110110

111+
logger.debug('first')
111112
expect { logger.info('first') }.to output(/:logger_info/).to_stdout_from_any_process
112113
expect { logger.info('second') }.not_to output(/:logger_info/).to_stdout_from_any_process
113114
end

0 commit comments

Comments
 (0)