В настоящее время наше приложение работает на Heroku, и для сохранения перезапусков и возможной задержки приложение предназначено для кэширования всех ошибок и отправки их в stderr и просто на сервер устаревшего кэша до тех пор, пока проблема не будет решена другим нажатием.Это предотвращает удаление приложения ...
Тем не менее, журналы чрезмерно заполняются целыми трассами, которые нам не нужны, поэтому я создал небольшой фрагмент (частично украденный из Rails) для анализа вызывающей стороны и толькоотправить эту строку, однако с ошибками, отправленными из службы спасения, мы получили неправильную строку, поэтому мне было интересно, как я могу получить вызывающего или вызывающего абонента или есть ли лучший способ справиться с этой ситуацией.Вот фрагмент:
module StdErr
def error(message)
file = 'Unknown'
line = '0'
if /^(.+?):(\d+)(?::in `(.*)')?/ =~ caller[1]
file = $1
line = $2
end
$stderr.puts "ERROR: #{message} on line #{line} of #{file}"
end
end