このガイドとクラスに関するドキュメントを読みました。毎日ロギング情報を取得するロガーを作成し、1 週間後に、最も古いロギング情報を毎回自動的に削除したいと考えています。
logfile = File.open(RAILS_ROOT + '/log/'+ (Date.today << 1).to_s + '_custom.log', 'a') #create log file
logfile.sync = true #automatically flushes data to file
CUSTOM_LOGGER = CustomLogger.new(logfile, 'daily') #constant accessible anywhere
さらに、カスタム ログを作成したいので、たとえば次のようなもの (形式):
class MyLogger < Logger
def format_message(severity, timestamp, progname, msg)
"#{timestamp} : #{msg}\n"
end
end
したがって、基本的に、すべてをどのディレクトリの下に正しく配置するかについて、より良いアイデアが必要です。たとえば、 MyLogger を論理的に配置する必要がある場所... (どこか? ヘルパー? または app/config/ の下?
それはこれを実装する有効な方法ですか?
config/initializers にすべてを置き、my_logger.rb という名前のファイルを作成して作成しました。ログファイルの削除/管理にまだ行き詰まっています。
サーバーはログローテーションでその部分を処理しますか (Linux OS からのログローテーションに何かがあることは知っています)。または、Rails はそれを内部で処理できますか?