質問: Railsの開発環境でログが肥大化して開かなくなったたため、 よく調べずに手動でファイルを削除してしまいました。 development.logというファイルを手動で作成したのですが、 それ以降、ログが全く出力されなくなってしまいました。 デフォルトで出力される内容も、 コントローラにlogger.debugで書いたものもどちらもダメです。 どうすればいいでしょうか?
回答: おそらく rails server は名前のなくなったファイルにログを書き続けています。 ファイルの削除とは、ディレクトリ(原義は名簿、ここではファイルの名簿)からファイル名とファイル本体の結びつきを消す(unlink)ことです。一度ファイルを開いてしまえば、開いた時のファイル名がなくなっても、関係なく読み書きが出来ます。実際Tempfileなどはopenしたらすぐunlinkすることも多いです。 以上の推測が正しければ、rails server を再スタートすれば、改めてログファイルを開く(開けて、書けるパーミッションは必要)ので、出力されるようになると思います。 なお、ログが肥大化している場合は、Rakeタスク log:clear を使ってサイズをゼロに出来ます。