@@ -45,16 +45,16 @@ class Logger
45
45
:level
46
46
47
47
def initialize
48
- @logger = ::Logger . new ( $stdout)
49
- @logger . progname = 'Selenium'
50
- @logger . level = ( $DEBUG ? DEBUG : WARN )
51
- @logger . formatter = proc do |severity , time , progname , msg |
52
- "#{ time . strftime ( '%F %T' ) } #{ severity } #{ progname } #{ msg } \n "
53
- end
48
+ @logger = create_logger ( $stdout)
54
49
end
55
50
56
51
def output = ( io )
57
- @logger . reopen ( io )
52
+ # `Logger#reopen` was added in Ruby 2.3
53
+ if @logger . respond_to? ( :reopen )
54
+ @logger . reopen ( io )
55
+ else
56
+ @logger = create_logger ( io )
57
+ end
58
58
end
59
59
60
60
#
@@ -66,22 +66,21 @@ def level=(severity)
66
66
if severity . is_a? ( Integer )
67
67
@logger . level = severity
68
68
else
69
- _severity = severity . to_s . downcase
70
- case _severity
71
- when 'debug' . freeze
72
- @logger . level = DEBUG
73
- when 'info' . freeze
74
- @logger . level = INFO
75
- when 'warn' . freeze
76
- @logger . level = WARN
77
- when 'error' . freeze
78
- @logger . level = ERROR
79
- when 'fatal' . freeze
80
- @logger . level = FATAL
81
- when 'unknown' . freeze
82
- @logger . level = UNKNOWN
83
- else
84
- raise ArgumentError , "invalid log level: #{ severity } "
69
+ case severity . to_s . downcase
70
+ when 'debug' . freeze
71
+ @logger . level = DEBUG
72
+ when 'info' . freeze
73
+ @logger . level = INFO
74
+ when 'warn' . freeze
75
+ @logger . level = WARN
76
+ when 'error' . freeze
77
+ @logger . level = ERROR
78
+ when 'fatal' . freeze
79
+ @logger . level = FATAL
80
+ when 'unknown' . freeze
81
+ @logger . level = UNKNOWN
82
+ else
83
+ raise ArgumentError , "invalid log level: #{ severity } "
85
84
end
86
85
end
87
86
end
@@ -104,6 +103,19 @@ def io
104
103
File . new ( Platform . null_device , 'w' )
105
104
end
106
105
end
106
+
107
+ private
108
+
109
+ def create_logger ( output )
110
+ logger = ::Logger . new ( output )
111
+ logger . progname = 'Selenium'
112
+ logger . level = ( $DEBUG ? DEBUG : WARN )
113
+ logger . formatter = proc do |severity , time , progname , msg |
114
+ "#{ time . strftime ( '%F %T' ) } #{ severity } #{ progname } #{ msg } \n "
115
+ end
116
+
117
+ logger
118
+ end
107
119
end # Logger
108
120
end # WebDriver
109
121
end # Selenium
0 commit comments