Intente lo siguiente. Pon el método rescue_from en tu controlador.
No he probado esto. Pero tal vez lo pone en la dirección correcta
class ApplicationController < ActionController::Base
rescue_from StandardError do |exception|
new_logger = Logger.new('log/exceptions.log')
new_logger.info('THIS IS A NEW EXCEPTION!')
new_logger.info(exception.message)
new_logger.info(exception.backtrace)
# Raise it anyway because you just want to put it in the log
raise exception
end
end
Si utiliza rieles 2.1 (también no probado)
class ApplicationController < ActionController::Base
def rescue_action_in_public(exception)
new_logger = Logger.new('log/exceptions.log')
new_logger.info('THIS IS A NEW EXCEPTION!')
new_logger.info(exception.message)
new_logger.info(exception.backtrace)
# Raise it anyway because you just want to put it in the log
raise exception
end
end
posible duplicado de [Cómo iniciar algo en rieles en un archivo de registro independiente?] (http://stackoverflow.com/questions/337739/how-to-log-something-in-rails-in-an-independent-log-file) – fl00r
No creo que sea un duplicado, es una pregunta diferente. Acerca de cómo dividir automáticamente los archivos de registro estándar en partes de grano más fino, en lugar de registrar manualmente en un archivo separado. –