2012-09-01 20 views
7

Cómo deshabilitar el registro para ActionController :: RoutingError ¿Errores?
Mi archivo de registro de producción está lleno de bots buscando phpMyAdmin y otras cosas.
Luego se pasan por alto los errores reales de la aplicación.
Por favor ayuda. Estoy ejecutando Rails 3.2 y Passenger.Detener el registro ActionController :: RoutingError Rails 3.2

En mi routes.rb mapeo todas las otras direcciones URL a get ":code" => "shared#code", y luego, si no se encuentra, despliego una página con el mensaje. Pero cuando el bot busca URL como http://mywebsite.com/phpMyAdmin/index.php, se muestra la página de error clásica "La página que estaba buscando no existe". Lo cual está bien. Pero simplemente no quiero registrar estos errores en el archivo de registro.

Respuesta

18

Lo que registra errores es el middleware ActionDispatch::DebugExceptions. Podría simplemente sobrescribir el método log_error, por ejemplo pegar esto en un inicializador:

class ActionDispatch::DebugExceptions 
    alias_method :old_log_error, :log_error 
    def log_error(env, wrapper) 
    if wrapper.exception.is_a? ActionController::RoutingError 
     return 
    else 
     old_log_error env, wrapper 
    end 
    end 
end 
+0

Gracias por su ayuda. ¿Pero puedo preguntarte, donde exactamente debo poner esto? Me refiero a qué archivo y carpeta. –

+0

initialisers live in config/initializers –

+0

¡Funciona, muchas gracias! –

Cuestiones relacionadas