2011-10-16 13 views

cevap

19

Sadece dosyayı silebilirsiniz!
Raylar, mevcut değilse yeni bir günlük oluşturur.
Önemliyse dosyayı önemli ölçüde kaydedin/yedekleyin, ancak genellikle değil.
Aynı sürücüye devam etmek, ancak yine de yerden tasarruf etmek istiyorsanız, yedeklenen dosyayı da (ve sonra da kaynağı silerek) daraltabilirsiniz. otomatik günlük dosyalarını (en iyi uzun vadeli çözüm) kullanımı günlüğü burada açıklandığı şekilde döndürmek döndürmek için

:

Ruby on Rails production log rotation

o zaman ayarla ve unut olabilir!

aslında açmış görmem alır değiştirmek için:

http://dennisreimann.de/blog/silencing-the-rails-log-on-a-per-action-basis/

+0

eğer mümkünse raylar bilmediğimiz o bir günlük dosyası oluşturur. – Jason

+0

Bunun kolayca yapılıp yapılmayacağını bilmiyorum. Belki de dev/null için takma ad? Nah, kullanmak daha iyi ve ben de bunu ekledim. –

+0

bunu fark etti. – Jason

52

Rails uygulamanızın log klasöründe, standart ortamların her birine karşılık gelen üç günlük dosyası bulunur. Günlük dosyaları zamanla çok büyüyebilir. Günlük dosyalarının kolay temizlenmesini sağlamak için bir rake task sağlanmıştır.

rake log:clear 
# Truncates all *.log files in log/ to zero bytes 
# Specify which logs with LOGS=test,development,production 
+4

Bu anwser kabul edilmiş olmalıydı. Yolcu dağıtımında, günlük dosyasını sildiğinizde, raylar yeni bir tane oluşturmaz. – EGurelli

4

According to the documentation, sen günlük klasörün boyutunu sınırlamak için 'development.rb'-dosyasında bu koymak istiyorsanız: Günlük dosyalarınızı Bununla

config.logger = ActiveSupport::Logger.new(config.paths['log'].first, 1, 50 * 1024 * 1024) 

asla 50 Mb'den büyük büyümeyecek. Boyutu kendi tercihinize göre değiştirebilirsiniz. İkinci parametrede ‘1’, 1 tarihi kayıt dosyasının tutulacağı anlamına gelir. Bu nedenle, 100Mb'ye kadar günlüğe sahip olursunuz - geçerli günlük ve önceki 50bb yığını. Böyle

0

Evet, Sen kullanarak yapabilirsiniz sözdizimi:

config.logger = ActiveSupport::Logger.new(config.log_file, num_of_file_to_keep, num_of_MB*1024*1024) 

Örnek: Sadece, sen raylar ile çalıştırmak herhangi bir hizmetin günlük dosyasını kullanarak yapabilirsiniz log Raylar için kullanmayan

config.logger = ActiveSupport::Logger.new(config.log_file, 2, 20*1024*1024) 

, böyle as: rpush günlüğü, ...

0

config.logger = ActiveSupport::Logger.new(nil), bir dosyaya günlük kaydını kandırır ve tamamen devre dışı bırakır (konsol çıkışı korunur).

3

otomatik olarak config/initializers/clear_development_log.rb her sunucu başlangıcında üzerinde gelişiminde günlükleri temizleyin:

if Rails.env.development? 
    `rake log:clear` 
end 
0

Adil uzlaşmayı, bir in başlatıcısı: Demek

Rake::Task['log:clear'].invoke if Rails.env.development? || Rails.env.test?