11

私は Rails 2.3.13 を使用してenvironments/production.rbいます。

config.log_level = :info
RAILS_DEFAULT_LOGGER = SyslogLogger.new('mysite-platform-production')

それでも私log/production.logは空です。なぜでしょうか?

4

2 に答える 2

11

をインスタンス化しているSyslogLoggerため、ログはログ ファイルではなく syslog (ほとんどの場合、Unix システムでは/var/log/syslogのファイルとして利用可能) に記録されます。ロガーに渡すパラメーター ( mysite-platform-production ) は、syslog で使用される識別子であり、ファイル名ではありません。

ログ ディレクトリ内のファイルにログを記録する場合は、ロガーを次のように設定する必要があります。

RAILS_DEFAULT_LOGGER = Logger.new('log/production.log')

しかし、実際には明示的に行う必要はありませんが、デフォルトではRailsによって行われると確信しているため、コードに設定しないことをお勧めします.log / production.logにログインRAILS_DEFAULT_LOGGERするロガーを取得する必要があります.暗黙のうちに...

于 2013-03-11T19:22:10.760 に答える
-1

ロガーの設定方法を考えると、production.logではなく'mysite-platform-production'という名前のファイルが見つかり、プロジェクトルートディレクトリにあります。'log / mysite-platform-production.log'で見つけたい場合は、次のことを行う必要があります。

RAILS_DEFAULT_LOGGER = SyslogLogger.new('log/mysite-platform-production.log')
于 2013-03-11T14:44:30.707 に答える