2012-09-01 15 views
7

Come disabilitare la registrazione per Errore ActionController :: RoutingError?
Il file di registro di produzione è pieno di bot alla ricerca di phpMyAdmin e altre cose.
Quindi gli errori reali dell'applicazione sono trascurati.
Per favore aiuto. Sto utilizzando Rails 3.2 e Passenger.Interrompi registrazione ActionController :: RoutingError Rails 3.2

Nelle mie rotte.rb mappo tutti gli altri URL a get ":code" => "shared#code" e quindi, se non trovato, visualizzo una pagina con messaggio. Ma quando il bot cerca url come http://mywebsite.com/phpMyAdmin/index.php, viene mostrata la classica pagina di errore "La pagina che stavi cercando non esiste.". Che va bene Ma non voglio registrare questi errori nel file di registro.

risposta

18

La cosa che registra/visualizza errori è il middleware ActionDispatch::DebugExceptions. Potresti semplicemente sovrascrivere il metodo log_error, ad esempio in un inizializzatore:

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

Grazie per il tuo aiuto. Ma posso chiederti, dove dovrei metterlo esattamente? Intendo quale file e cartella. –

+0

initialisers live in config/initializers –

+0

Funziona, grazie mille! –

Problemi correlati