class Selenium::WebDriver::Logger
def discard_or_log(level, message, id)
def discard_or_log(level, message, id) id = Array(id) return if @ignored.intersect?(id) return if @allowed.any? && !@allowed.intersect?(id) return if ::Logger::Severity.const_get(level.upcase) < @logger.level unless @first_warning @first_warning = true info("Details on how to use and modify Selenium logger:\n", id: [:logger_info]) do "https://selenium.dev/documentation/webdriver/troubleshooting/logging\n" end end msg = id.empty? ? message : "[#{id.map(&:inspect).join(', ')}] #{message} " msg += " #{yield}" if block_given? @logger.send(level) { msg } end