2011-10-16 25 views

Trả lời

19

bạn chỉ có thể xóa tệp!
Đường ray sẽ tạo nhật ký mới nếu nhật ký không tồn tại.
Rõ ràng là lưu/sao lưu tệp nếu nó quan trọng, nhưng thường thì không.
Bạn cũng có thể nén tệp đã sao lưu (và sau đó xóa nguồn) nếu bạn muốn giữ nó trên cùng một ổ đĩa nhưng vẫn tiết kiệm dung lượng.

Để tự động xoay các file log (giải pháp lâu dài tốt nhất) log sử dụng luân phiên như đã mô tả ở đây:

Ruby on Rails production log rotation

sau đó bạn có thể đặt nó và quên nó!

Để thực sự thay đổi những gì được see đăng nhập:

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

+0

Tôi có nghĩa là nếu nó có thể là đường ray không tạo một tệp nhật ký. – Jason

+0

Tôi không biết liệu điều đó có thể dễ dàng thực hiện hay không. Có thể bí danh nó thành dev/null? Không, tốt hơn để sử dụng xoay và vì vậy tôi đã thêm vào đó. –

+0

hiểu điều đó, cảm ơn. – Jason

52

Thư mục log của ứng dụng Rails của bạn chứa ba tệp nhật ký tương ứng với từng môi trường chuẩn. Các tệp nhật ký có thể phát triển rất lớn theo thời gian. A rake task được cung cấp để cho phép xóa dễ dàng các tệp nhật ký.

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

Anwser này đã được chấp nhận. Khi triển khai hành khách, khi bạn xóa tệp nhật ký, đường ray không tạo tệp nhật ký mới. – EGurelli

4

According to the documentation, nếu bạn muốn giới hạn kích thước của thư mục nhật ký, đặt điều này trong 'development.rb'-file của bạn:

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

Với điều này, các file log của bạn sẽ không bao giờ lớn hơn 50Mb. Bạn có thể thay đổi kích thước theo sở thích của riêng bạn. Chữ ‘1’ trong tham số thứ hai có nghĩa là 1 tệp nhật ký lịch sử sẽ được giữ lại, vì vậy bạn sẽ có tối đa 100Mb nhật ký - nhật ký hiện tại và đoạn trước đó là 50Mb.

0

Vâng, Bạn có thể sử dụng cú pháp như thế này:

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

Ví dụ:

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

Nó không chỉ sử dụng cho Rails đăng nhập, bạn có thể sử dụng tập tin đăng nhập của bất kỳ dịch vụ chạy với đường ray, chẳng hạn như: rpush log, ...

0

config.logger = ActiveSupport::Logger.new(nil) thực hiện thủ thuật và hoàn toàn vô hiệu hóa việc ghi nhật ký vào một tệp (đầu ra của bàn điều khiển được giữ nguyên).

3

tôi tự động xóa các bản ghi trong phát triển trên mỗi đầu máy chủ với config/initializers/clear_development_log.rb:

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

Một thỏa hiệp hợp lý trên một initializer:

Rake::Task['log:clear'].invoke if Rails.env.development? || Rails.env.test? 
Các vấn đề liên quan