Skip to content

Commit ed47b6b

Browse files
nobumatzbot
authored andcommitted
[ruby/logger] Extract Logger::LogDevice#handle_write_errors
ruby/logger@f904ad2f7c
1 parent c516669 commit ed47b6b

File tree

1 file changed

+10
-19
lines changed

1 file changed

+10
-19
lines changed

lib/logger/log_device.rb

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -30,29 +30,13 @@ def initialize(log = nil, shift_age: nil, shift_size: nil, shift_period_suffix:
3030
end
3131

3232
def write(message)
33-
begin
33+
handle_write_errors("writing") do
3434
synchronize do
3535
if @shift_age and @dev.respond_to?(:stat)
36-
begin
37-
check_shift_log
38-
rescue *@reraise_write_errors
39-
raise
40-
rescue
41-
warn("log shifting failed. #{$!}")
42-
end
43-
end
44-
begin
45-
@dev.write(message)
46-
rescue *@reraise_write_errors
47-
raise
48-
rescue
49-
warn("log writing failed. #{$!}")
36+
handle_write_errors("shifting") {check_shift_log}
5037
end
38+
handle_write_errors("writing") {@dev.write(message)}
5139
end
52-
rescue *@reraise_write_errors
53-
raise
54-
rescue Exception => ignored
55-
warn("log writing failed. #{ignored}")
5640
end
5741
end
5842

@@ -121,6 +105,13 @@ def create_logfile(filename)
121105
logdev.sync = true
122106
end
123107
logdev
108+
109+
def handle_write_errors(mesg)
110+
yield
111+
rescue *@reraise_write_errors
112+
raise
113+
rescue
114+
warn("log #{mesg} failed. #{$!}")
124115
end
125116

126117
def add_log_header(file)

0 commit comments

Comments
 (0)