Kettenräder sind im (dev) -Protokoll unter Ruby on Rails 3.1 (RC1) standardmäßig ziemlich ausführlich:
Started GET "/assets/application.css" for 127.0.0.1 at 2011-06-10 17:30:45 -0400
Compiled app/assets/stylesheets/application.css.scss (5ms) (pid 6303)
Started GET "/assets/application.js" for 127.0.0.1 at 2011-06-10 17:30:45 -0400
Compiled app/assets/stylesheets/default.css.scss (15ms) (pid 6303)
...
Started GET "/assets/default/header_bg.gif" for 127.0.0.1 at 2011-06-10 17:30:45 -0400
Served asset /default/header_logo.gif - 304 Not Modified (7ms) (pid 6303)
Served asset /default/header_bg.gif - 304 Not Modified (0ms) (pid 6246)
Served asset /default/footer_bg.gif - 304 Not Modified (49ms) (pid 6236)
...
Ich möchte entweder die Ausführlichkeit verringern oder sie ganz deaktivieren.
Ich gehe davon aus, dass es eine saubere Möglichkeit gibt, die Ausführlichkeit der Protokollierung zu deaktivieren oder zu verringern, indem eine Konfigurationszeile hinzugefügt wird, in der ActiveRecord SQL-Anweisungen entweder environment.rb
oder development.rb
ähnlich config.active_record.logger = nil
stummgeschaltet werden.
config.assets.debug = false
Ihre development.rb eingeben.config.assets.debug = false
wird Assets in einer einzigen Datei verketten - nicht das, was die meisten Leute in der Entwicklung wollenAntworten:
Geben Sie den folgenden Code ein
config/initializers/quiet_assets.rb
Aktualisiert: Es funktioniert jetzt auch für Ruby on Rails 3.2 (frühere Fehlerbehebungen
before_dispatch
, und jetzt greifen wircall
stattdessen zum Root-Rack )Update: Eine geeignete Rack-Middleware-Lösung (statt zerbrechlich
alias_method_chain
) von @macournoyer https://github.com/rails/rails/issues/2639#issuecomment-6591735quelle
config.assets.logger
auf false nur die Sprockets-Ausgaben stummgeschaltet werden. Dadurch werden die Anfragen / Antworten des Action Packs zum Schweigen gebracht. Dies ist etwas, von dem die Rails-Entwickler erklärt haben, dass sie nicht beabsichtigen, es für Sonderfälle zum Schweigen zu bringen .'/dev/null'
'NUL
' ersetzenSchauen Sie sich https://github.com/evrone/quiet_assets an und fügen Sie es einfach in Ihre Gem-Datei ein.
Für die Faulen:
gem 'quiet_assets', group: :development
quelle
gem 'quiet_assets'
(bitte füge dies dem Beitrag hinzu :))Fügen Sie für Ruby on Rails 3.2 die
config.assets.logger = false
Konfigurationsdatei Ihrer Entwicklungsumgebung hinzu, die normalerweise unter zu finden istconfig/environments/development.rb
. Siehe # 4512 .quelle
config.assets.logger = nil
funktioniert für michconfig.assets.logger = nil
funktioniert NICHT für michZwei Dinge sind genug:
config.assets.debug = false
imconfig/enviroments/development.rb
rake assets:precompile
. Siehe Kommentar von @oma unten; Dies wird nicht benötigtDas ist alles!
quelle
rake assets:precompile
ist nicht etwas, was wir in der Entwicklung tun wollenIrgendwann wird es so sein
config.assets.logger = nil
, aber dieser Teil wird derzeit auf dem Master gestoppt (noch nicht fertig).quelle
development.rb
und es deaktiviert die Protokollierung von Assets.Ich weiß, dass es eine hässliche und vorübergehende Lösung ist, aber ich benutze diese:
quelle
tail -f log/development.log | grep -vE "(^\s*$|asset)"
Viele Menschen sind verwirrt über die Verwendung von
config.assets.logger = false
. Hier ist, was es tut und was es nicht tut.Laut Quelldokumentation :
Dies ist jedoch wahrscheinlich nicht das, was Sie denken. Es werden nur Kettenrad-Serving-Protokolle deaktiviert , nicht Ruby on Rails-Actionpack-Anforderungsprotokolle. Der Ruby on Rails-Betreuer erklärt dies hier deutlich: https://github.com/rails/rails/issues/4569#issuecomment-3594500
Am Beispiel des Links sind solche Protokolle deaktiviert:
Protokolle wie dieses sind es jedoch nicht
quelle
Dies ist der neueste Weg.
quelle
development.rb
Verwenden:
Es ist der gleiche Code choonkeat hinzugefügt . Ich habe es nur eingefügt, um auch unter Windows zu funktionieren.
quelle
In der Datei development.rb in config / environment finden Sie die Zeile
config.assets.debug = true
.Schalten Sie das auf
false
und der größte Teil der Asset-Load-Ausgabe ist weg. Auf meinem System verbleiben nur die beiden Anforderungen für application.css und .js.quelle
true
.Fügen Sie in der Datei config / environment / development.rb Folgendes hinzu:
quelle
Lograge for the Win - Die nervigen Logger- Standardeinstellungen von Ruby on Rails werden sofort beendet (z. B. Protokollieren von Assets, Protokollieren von Teilrendering) und können angepasst werden, wenn Sie bestimmte Elemente hinzufügen / entfernen möchten.
quelle
Die zuvor erwähnte verknüpfte Lösung hilft:
https://github.com/evrone/quiet_assets
Auch wie unten funktioniert es gut für mich:
3.1 (nur) (3.2 Pausen vor_Dipatch)
quelle
config.log_level = :error
Fügen Sie in config / environment die zu ändernden .rb-Dateien hinzu. Dadurch werden die Protokolleinstellungen nur auf Fehler geändert.quelle