Как я могу писать в Rails logger внутри моего драгоценного камня
У меня есть драгоценный камень, который я написал, и я использую его внутри своего приложения rails.
Я хочу писать в rails logger из моего драгоценного камня, но, очевидно, стандартный рельсовый логгер там не существует.
Каков правильный способ достичь того, что я хочу сделать?
Ответы
Ответ 1
В то время как вы можете использовать Rails.logger
, вы можете захотеть сделать логгером, что ваш драгоценный камень использует настраиваемый, то есть разрешить пользователям устанавливать MyGem.logger
для любого регистратора, который они хотят.
Вы можете по умолчанию использовать что-то, что просто пишет в stdout, в приложении rails вы можете установить MyGem.logger = Rails.logger
в инициализаторе. Люди, которые используют ваш драгоценный камень за пределами рельсов, тоже могут это сделать.
Ответ 2
Как говорит Фредерик Чунг, вы должны использовать регистратор имен для вашего драгоценного камня: MyGem.logger
.
Затем установите его в журнал Rails в Railtie, чтобы ваш драгоценный камень хорошо работал как внутри, так и снаружи Rails.
module MyGem
class Railties < ::Rails::Railtie
initializer 'Rails logger' do
MyGem.logger = Rails.logger
end
end
end