@@ -38,12 +38,12 @@ class Logger
3838
3939 def_delegators :@logger ,
4040 :close ,
41- :debug , :debug ?,
42- :info , :info ?,
41+ :debug? ,
42+ :info? ,
4343 :warn? ,
4444 :error , :error? ,
4545 :fatal , :fatal? ,
46- :level , :level=
46+ :level
4747
4848 #
4949 # @param [String] progname Allow child projects to use Selenium's Logger pattern
@@ -54,6 +54,12 @@ def initialize(progname = 'Selenium', ignored: nil)
5454 @first_warning = false
5555 end
5656
57+ def level = ( level )
58+ info ( ':info is now the default log level, to see additional logging, set log level to :debug' ) if level == :info
59+
60+ @logger . level = level
61+ end
62+
5763 #
5864 # Changes logger output to a new IO.
5965 #
@@ -88,27 +94,44 @@ def ignore(id)
8894 end
8995
9096 #
91- # Overrides default #warn to skip ignored messages by provided id
97+ # Used to supply information of interest for debugging a problem
98+ # Overrides default #debug to skip ignored messages by provided id
9299 #
93100 # @param [String] message
94101 # @param [Symbol, Array<Sybmol>] id
95102 # @yield see #deprecate
96103 #
97- def warn ( message , id : [ ] )
104+ def debug ( message , id : [ ] , &block )
105+ discard_or_log ( :debug , message , id , &block )
106+ end
107+
108+ #
109+ # Used to supply information of general interest
110+ #
111+ # @param [String] message
112+ # @param [Symbol, Array<Sybmol>] id
113+ # @yield see #deprecate
114+ #
115+ def info ( message , id : [ ] , &block )
98116 unless @first_warning
99117 @first_warning = true
100- warn ( "Details on how to use and modify Selenium logger:\n " , id : [ :logger_info ] ) do
101- "https://selenium.dev/documentation/webdriver/troubleshooting/logging#ruby \n "
118+ info ( "Details on how to use and modify Selenium logger:\n " , id : [ :logger_info ] ) do
119+ "https://selenium.dev/documentation/webdriver/troubleshooting/logging\n "
102120 end
103121 end
104122
105- id = Array ( id )
106- return if ( @ignored & id ) . any?
107-
108- msg = id . empty? ? message : "[#{ id . map ( &:inspect ) . join ( ', ' ) } ] #{ message } "
109- msg += " #{ yield } " if block_given?
123+ discard_or_log ( :info , message , id , &block )
124+ end
110125
111- @logger . warn { msg }
126+ #
127+ # Used to supply information that suggests action be taken by user
128+ #
129+ # @param [String] message
130+ # @param [Symbol, Array<Sybmol>] id
131+ # @yield see #deprecate
132+ #
133+ def warn ( message , id : [ ] , &block )
134+ discard_or_log ( :warn , message , id , &block )
112135 end
113136
114137 #
@@ -121,20 +144,17 @@ def warn(message, id: [])
121144 # @yield appends additional message to end of provided template
122145 #
123146 def deprecate ( old , new = nil , id : [ ] , reference : '' , &block )
124- id = Array ( id )
125- return if @ignored . include? ( :deprecations ) || ( @ignored & id ) . any?
126-
127- ids = id . empty? ? '' : "[#{ id . map ( &:inspect ) . join ( ', ' ) } ] "
147+ return if @ignored . include? ( :deprecations )
128148
129- message = +"[DEPRECATION] #{ ids } #{ old } is deprecated"
149+ message = +"[DEPRECATION] #{ old } is deprecated"
130150 message << if new
131151 ". Use #{ new } instead."
132152 else
133153 ' and will be removed in a future release.'
134154 end
135155 message << " See explanation for this deprecation: #{ reference } ." unless reference . empty?
136156
137- warn message , &block
157+ discard_or_log ( : warn, message , id , &block )
138158 end
139159
140160 private
@@ -151,7 +171,17 @@ def create_logger(name)
151171 end
152172
153173 def default_level
154- $DEBUG || ENV . key? ( 'DEBUG' ) ? :debug : :warn
174+ $DEBUG || ENV . key? ( 'DEBUG' ) ? :debug : :info
175+ end
176+
177+ def discard_or_log ( level , message , id )
178+ id = Array ( id )
179+ return if ( @ignored & id ) . any?
180+
181+ msg = id . empty? ? message : "[#{ id . map ( &:inspect ) . join ( ', ' ) } ] #{ message } "
182+ msg += " #{ yield } " if block_given?
183+
184+ @logger . send ( level ) { msg }
155185 end
156186 end # Logger
157187 end # WebDriver
0 commit comments