#ruby-on-rails #ruby #amazon-linux-2
Вопрос:
Мое приложение ruby работает на платформе Ruby 2.7 на Amazon Linux2. Приложение создает регистратор, используя приведенный ниже код:
Rails.logger = Logger.new(File.join(Rails.root, 'log', 'server.log'))
Приложение работает хорошо, но server.log
файл не существует в var/log
Я попытался заменить приведенный выше код на приведенный ниже:
Rails.logger = Logger.new('server.log')
Все еще не удается найти server.log
файл. Не могли бы вы сказать, в каком каталоге будет находиться server.log?
Комментарии:
1. Где это
Rails.root
? Другими словами, в какой папке на этом компьютере хранится проект rails?File.join(Rails.root, 'log', 'server.log')
означает именно то, на что это похоже:/path/to/rails/application/log/server.log
.2. Я предполагаю, что приложение rails не живет непосредственно внутри
/var
. Это было бы очень странно.3. @TomLord Благодарит Тома. Если я хочу поместить файл журнала в /var/log/server.log, как мне следует изменить код?
4.
Rails.logger = Logger.new('/var/log/server.log')
??!5. Однако это был бы необычный выбор;
/var/log
папка обычно зарезервирована для системных журналов , а не для журналов приложений.