Sprockets cenderung sangat bertele-tele dalam log (dev) secara default di bawah Ruby on Rails 3.1 (RC1):
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)
...
Saya ingin mengurangi tingkat verbositas atau menonaktifkannya sama sekali.
Saya berasumsi ada cara bersih untuk menonaktifkan atau mengurangi verbositas dari logging dengan menambahkan baris config di salah satu environment.rb
atau development.rb
mirip dengan config.active_record.logger = nil
yang membungkam pernyataan SQL ActiveRecord.
config.assets.debug = false
development.rb.config.assets.debug = false
akan menyatukan aset ke dalam satu file - bukan yang diinginkan kebanyakan orang dalam pengembanganJawaban:
Masukkan kode berikut ini
config/initializers/quiet_assets.rb
Diperbarui: Sekarang juga berfungsi untuk Ruby on Rails 3.2 (perbaikan upaya sebelumnya
before_dispatch
, dan sekarang kami akan menggunakan rak rootcall
sebagai gantinya)Pembaruan: Solusi rak middleware yang tepat (bukan rapuh
alias_method_chain
) dari @macournoyer https://github.com/rails/rails/issues/2639#issuecomment-6591735sumber
config.assets.logger
ke false hanya akan membungkam apa yang dihasilkan Sprockets. Paket Tindakan ini membungkam permintaan / tanggapan, yang merupakan sesuatu yang dikatakan Rails dev tidak berniat diam untuk kasus-kasus khusus .'/dev/null'
dengan 'NUL
'Lihatlah https://github.com/evrone/quiet_assets dan cukup sertakan ke dalam file Gem Anda.
Untuk yang malas:
gem 'quiet_assets', group: :development
sumber
gem 'quiet_assets'
(silakan tambahkan ini ke posting :))Untuk Ruby on Rails 3.2, tambahkan
config.assets.logger = false
ke file konfigurasi lingkungan pengembangan Anda, biasanya ditemukan diconfig/environments/development.rb
. Lihat # 4512 .sumber
config.assets.logger = nil
bekerja untuk sayaconfig.assets.logger = nil
TIDAK bekerja untuk sayaDua hal sudah cukup:
config.assets.debug = false
diconfig/enviroments/development.rb
rake assets:precompile
. Lihat komentar oleh @oma di bawah ini; ini tidak diperlukanItu saja!
sumber
rake assets:precompile
bukan sesuatu yang ingin kami lakukan dalam pengembanganPada akhirnya, itu akan terjadi
config.assets.logger = nil
, tetapi bagian itu saat ini masih belum dibaca di master (belum selesai).sumber
development.rb
, dan itu menonaktifkan logging aset.Saya tahu ini solusi yang jelek dan sementara, tetapi saya menggunakan ini:
sumber
tail -f log/development.log | grep -vE "(^\s*$|asset)"
Banyak orang bingung tentang penggunaan
config.assets.logger = false
. Inilah yang dilakukan dan tidak dilakukan.Menurut sumber dokumentasi :
Namun ini mungkin bukan apa yang Anda pikirkan. Ini hanya menonaktifkan log 'penayangan' sprocket , bukan log permintaan actionpack Ruby on Rails. Pengelola Ruby on Rails menjelaskan hal ini dengan jelas di sini: https://github.com/rails/rails/issues/4569#issuecomment-3594500
Mengambil contoh dari tautan, log seperti ini dinonaktifkan:
Tapi log seperti ini bukan
sumber
Ini cara terbaru untuk pergi.
sumber
development.rb
Menggunakan:
Ini adalah kode choonkeat yang sama ditambahkan . Saya hanya memasukkannya untuk bekerja di bawah Windows juga.
sumber
Dalam file development.rb di config / environment Anda akan menemukan baris tersebut
config.assets.debug = true
.Alihkan itu ke
false
dan sebagian besar output beban aset akan hilang. Di sistem saya hanya dua permintaan, untuk application.css dan .js, yang tersisa.sumber
true
.Dalam file config / environment / development.rb silakan tambahkan:
sumber
Lograge untuk menang - ini akan meniadakan default logger yang mengganggu Ruby on Rails (misalnya, mencatat aset, mencatat rendering sebagian) dan dapat disesuaikan jika Anda ingin menambah / menghapus item tertentu.
sumber
Solusi tertaut yang disebutkan sebelumnya membantu:
https://github.com/evrone/quiet_assets
Juga seperti di bawah ini, itu berfungsi dengan baik untuk saya:
3,1 (hanya) (3,2 jeda sebelum_dipatch)
sumber
Dalam config / environment, tambahkan
config.log_level = :error
ke file .rb yang ingin Anda ubah. Ini akan mengubah pengaturan log menjadi kesalahan saja.sumber