379 Stimmen

Wie kann ich das Protokollieren von Asset-Pipeline (Sprockets)-Nachrichten in Ruby on Rails 3.1 deaktivieren?

Sprockets tendiert dazu, standardmäßig im (dev) Log von Ruby on Rails 3.1 (RC1) recht ausführlich zu sein:

Gestartet GET "/assets/application.css" für 127.0.0.1 um 2011-06-10 17:30:45 -0400
Kompilierte app/assets/stylesheets/application.css.scss  (5ms)  (pid 6303)

Gestartet GET "/assets/application.js" für 127.0.0.1 um 2011-06-10 17:30:45 -0400
Kompilierte app/assets/stylesheets/default.css.scss  (15ms)  (pid 6303)

...
Gestartet GET "/assets/default/header_bg.gif" für 127.0.0.1 um 2011-06-10 17:30:45 -0400
Diente asset /default/header_logo.gif - 304 Not Modified  (7ms)  (pid 6303)
Diente asset /default/header_bg.gif - 304 Not Modified  (0ms)  (pid 6246)
Diente asset /default/footer_bg.gif - 304 Not Modified  (49ms)  (pid 6236)
...

Ich würde entweder den Grad der Ausführlichkeit reduzieren oder sie ganz deaktivieren.

Ich gehe davon aus, dass es einen sauberen Weg gibt, um das Logging durch das Hinzufügen einer Konfigurationszeile in environment.rb oder development.rb ähnlich wie config.active_record.logger = nil zu deaktivieren oder die Ausführlichkeit zu reduzieren.

0 Stimmen

Jemand hat einen Fehler gemeldet: #2639. Noch "offen" am 2.9.

14 Stimmen

Die akzeptierte Antwort auf diese Frage sollte geändert oder aktualisiert werden. In Rails 3.2 können Sie einfach config.assets.debug = false in Ihrer development.rb einfügen.

7 Stimmen

@StewartJohnson - config.assets.debug = false wird Assets in eine einzelne Datei verknüpfen - nicht das, was die meisten Leute in der Entwicklung wollen

5voto

Najam Tariq Punkte 51

In der Datei config/environments/development.rb fügen Sie bitte hinzu:

config.assets.debug = false

config.assets.logger = false

2voto

Yarin Punkte 157128

Lograge für den Sieg - es eliminiert die nervigen Logger-Standardeinstellungen von Ruby on Rails von Anfang an (z.B. das Protokollieren von Assets, das Protokollieren von teilweiser Renderung) und ist anpassbar, wenn Sie bestimmte Elemente hinzufügen/entfernen möchten.

0voto

Sumit Munot Punkte 3594

Die oben erwähnte verlinkte Lösung hilft:

https://github.com/evrone/quiet_assets

Auch wie unten, funktioniert es gut für mich:

3.1 (nur) (3.2 bricht vor_dipatch)

app\config\initializers\quiet_assets.rb

Rails.application.assets.logger = Logger.new('/dev/null')
Rails::Rack::Logger.class_eval do
  def before_dispatch_with_quiet_assets(env)
    before_dispatch_without_quiet_assets(env) unless env['PATH_INFO'].index("/assets/") == 0
  end
  alias_method_chain :before_dispatch, :quiet_assets
end
3.2 Rails - Rack root tap-Ansatz
app\config\initializers\quiet_assets.rb

Rails.application.assets.logger = Logger.new('/dev/null')
Rails::Rack::Logger.class_eval do
  def call_with_quiet_assets(env)
    previous_level = Rails.logger.level
    Rails.logger.level = Logger::ERROR if env['PATH_INFO'].index("/assets/") == 0
    call_without_quiet_assets(env).tap do
      Rails.logger.level = previous_level
    end
  end
  alias_method_chain :call, :quiet_assets

-1voto

Chris O Punkte 17

In config/environments füge config.log_level = :error zu den .rb-Dateien hinzu, die du ändern möchtest. Dadurch werden die Protokolleinstellungen nur auf Fehler geändert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X