[ruby/logger] Extract Logger::LogDevice#handle_write_errors
https://github.com/ruby/logger/commit/f904ad2f7c
This commit is contained in:
parent
c516669f26
commit
ed47b6b324
@ -30,29 +30,13 @@ class Logger
|
|||||||
end
|
end
|
||||||
|
|
||||||
def write(message)
|
def write(message)
|
||||||
begin
|
handle_write_errors("writing") do
|
||||||
synchronize do
|
synchronize do
|
||||||
if @shift_age and @dev.respond_to?(:stat)
|
if @shift_age and @dev.respond_to?(:stat)
|
||||||
begin
|
handle_write_errors("shifting") {check_shift_log}
|
||||||
check_shift_log
|
|
||||||
rescue *@reraise_write_errors
|
|
||||||
raise
|
|
||||||
rescue
|
|
||||||
warn("log shifting failed. #{$!}")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
begin
|
|
||||||
@dev.write(message)
|
|
||||||
rescue *@reraise_write_errors
|
|
||||||
raise
|
|
||||||
rescue
|
|
||||||
warn("log writing failed. #{$!}")
|
|
||||||
end
|
end
|
||||||
|
handle_write_errors("writing") {@dev.write(message)}
|
||||||
end
|
end
|
||||||
rescue *@reraise_write_errors
|
|
||||||
raise
|
|
||||||
rescue Exception => ignored
|
|
||||||
warn("log writing failed. #{ignored}")
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -121,6 +105,13 @@ class Logger
|
|||||||
logdev.sync = true
|
logdev.sync = true
|
||||||
end
|
end
|
||||||
logdev
|
logdev
|
||||||
|
|
||||||
|
def handle_write_errors(mesg)
|
||||||
|
yield
|
||||||
|
rescue *@reraise_write_errors
|
||||||
|
raise
|
||||||
|
rescue
|
||||||
|
warn("log #{mesg} failed. #{$!}")
|
||||||
end
|
end
|
||||||
|
|
||||||
def add_log_header(file)
|
def add_log_header(file)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user