Exceções de registro no Sinatra

Simplesmente depurar um aplicativo no Sinatra dá um pouco de dor de cabeça. Logging em particular estava sendo meio problemático em nossa pilha de passageiros.

Eu descobri a seguinte abordagem para resolver o problema de registro para nós.

log_file = File.new("#{settings.root}/log/#{settings.environment}.log", 'a+')

STDOUT
.reopen(log_file)
STDERR
.reopen(log_file)

STDOUT
.sync = true
STDERR
.sync = true

Vale a pena conferir, o site de receitas do sinatra.