@@ -48,14 +48,17 @@ class Logger
4848 #
4949 # @param [String] progname Allow child projects to use Selenium's Logger pattern
5050 #
51- def initialize ( progname = 'Selenium' , ignored : nil )
51+ def initialize ( progname = 'Selenium' , ignored : nil , allowed : nil )
5252 @logger = create_logger ( progname )
5353 @ignored = Array ( ignored )
54+ @allowed = Array ( allowed )
5455 @first_warning = false
5556 end
5657
5758 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+ if level == :info && @logger . level == :info
60+ info ( ':info is now the default log level, to see additional logging, set log level to :debug' )
61+ end
5962
6063 @logger . level = level
6164 end
@@ -87,10 +90,19 @@ def io
8790 #
8891 # Will not log the provided ID.
8992 #
90- # @param [Array, Symbol] id
93+ # @param [Array, Symbol] ids
94+ #
95+ def ignore ( *ids )
96+ @ignored += Array ( ids ) . flatten
97+ end
98+
99+ #
100+ # Will only log the provided ID.
101+ #
102+ # @param [Array, Symbol] ids
91103 #
92- def ignore ( id )
93- Array ( id ) . each { | ignore | @ignored << ignore }
104+ def allow ( ids )
105+ @allowed += Array ( ids ) . flatten
94106 end
95107
96108 #
@@ -144,8 +156,11 @@ def warn(message, id: [], &block)
144156 # @yield appends additional message to end of provided template
145157 #
146158 def deprecate ( old , new = nil , id : [ ] , reference : '' , &block )
159+ id = Array ( id )
147160 return if @ignored . include? ( :deprecations )
148161
162+ id << :deprecations if @allowed . include? ( :deprecations )
163+
149164 message = +"[DEPRECATION] #{ old } is deprecated"
150165 message << if new
151166 ". Use #{ new } instead."
@@ -177,6 +192,7 @@ def default_level
177192 def discard_or_log ( level , message , id )
178193 id = Array ( id )
179194 return if ( @ignored & id ) . any?
195+ return if @allowed . any? && ( @allowed & id ) . none?
180196
181197 msg = id . empty? ? message : "[#{ id . map ( &:inspect ) . join ( ', ' ) } ] #{ message } "
182198 msg += " #{ yield } " if block_given?
0 commit comments