Pertanyaan Bagaimana saya bisa menulis ke penebang Rails dalam permata saya


Saya memiliki permata yang saya tulis dan saya menggunakannya di dalam aplikasi rel saya.

Saya ingin menulis ke rails logger dari permata saya tapi jelas logger standar tidak ada di sana.

Apa cara yang tepat untuk mencapai apa yang ingin saya lakukan?


11
2018-01-01 12:48


asal


Jawaban:


Padahal Anda harus bisa menggunakannya Rails.logger Anda mungkin ingin mempertimbangkan membuat logger yang digunakan gem dapat dikonfigurasi, yaitu memungkinkan pengguna untuk mengatur MyGem.logger ke logger apa pun yang mereka inginkan.

Anda dapat mengaturnya ke sesuatu yang hanya ditulis ke stdout, di aplikasi rel yang dapat Anda atur MyGem.logger = Rails.logger dalam inisialisasi. Orang yang menggunakan permata Anda di luar rel juga bisa melakukannya.


8
2018-01-01 13:13



Seperti yang Frederick Cheung katakan, Anda harus menggunakan logger yang diberi nama untuk permata Anda: MyGem.logger.

Kemudian set ke logger Rails di Railtie sehingga permata Anda bekerja dengan baik baik di dalam maupun di luar Rails.

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

15
2018-01-01 21:04