|
Ruby on Rails ohne Protokollierung von IP-Adressen:
Die erste Zeile jedes Log-Eintrags einer normalen Railsanwendung sieht ungefähr so aus:
Processing PostsController#index (for 123.123.123.123 at 2008-02-19 14:54:27) [GET]
Bei jeder Anfrage wird die IP-Adresse des anfragenden Rechners zusammen mit dem Zeitpunkt der Anfrage gespeichert.
Der Standard Logger von Ruby on Rails bietet keine Möglichkeit, die
Protokollierung dieser Daten abzuschalten. Doch glücklicherweise lässt
sich die verantwortliche Funktion einfach überschreiben, Ruby sei Dank.
Da ich IP-Logging in meiner Entwicklungs- und Testumgebung
eventuell tatsächlich haben will, überschreibe ich die Funktion in der
Datei config/environments/production.rb, so dass nur im eigentlichen "Produktionsbetrieb" keine Protokollierung stattfindet. # Overwrite ActionController::Base.log_processing to prevent IP-Logging # config/environments/production.rb class ActionController::Base def log_processing if logger logger.info "\n\nProcessing #{controller_class_name}\##{action_name} (#{Time.now.to_s(:db)}) [#{request.method.to_s.upcase}]" logger.info " Session ID: #{@_session.session_id}" if @_session and @_session.respond_to?(:session_id) logger.info " Parameters: #{respond_to?(:filter_parameters) ? filter_parameters(params).inspect : params.inspect}" end end end
Nun wird die IP-Adresse nicht mehr gespeichert und die erste Zeile der Einträge im Logfile sieht wie folgt aus:
Processing PostsController#index (2008-02-19 14:54:56) [GET]
Quelle |