2012-01-01 33 views
11

Tôi có một viên ngọc mà tôi đã viết và tôi sử dụng nó bên trong ứng dụng đường ray của tôi.Làm thế nào tôi có thể viết thư cho Rails logger trong đá quý của tôi

Tôi muốn viết cho thanh ghi nhật ký từ đá quý của mình nhưng rõ ràng là trình ghi nhật ký đường tiêu chuẩn không tồn tại ở đó.

Cách phù hợp để đạt được những gì tôi muốn làm là gì?

+0

Còn về 'Rails.logger.debug' thì sao? Hoặc 'Rails.logger.info', v.v ...? –

Trả lời

8

Mặc dù bạn có thể sử dụng Rails.logger bạn có thể muốn xem xét việc ghi nhật ký mà đá quý của bạn sử dụng cấu hình, tức là cho phép người dùng đặt MyGem.logger cho bất kỳ trình ghi nào họ muốn.

Bạn có thể đặt mặc định nó thành thứ gì đó chỉ cần viết để xuất bản, trong ứng dụng đường ray bạn có thể đặt MyGem.logger = Rails.logger trong trình khởi tạo. Những người đang sử dụng đá quý của bạn bên ngoài đường ray cũng có thể làm như vậy.

15

Như Frederick Cheung nói, bạn nên sử dụng trình ghi nhật ký không gian tên cho đá quý của mình: MyGem.logger.

Sau đó đặt nó vào trình ghi nhật ký Rails trong Railtie để đá quý của bạn hoạt động độc đáo cả bên trong và bên ngoài Rails.

module MyGem 
    class Railties < ::Rails::Railtie 
    initializer 'Rails logger' do 
     MyGem.logger = Rails.logger 
    end 
    end 
end 
+0

Tnx, nó hữu ích – gilsilas

Các vấn đề liên quan