LoginSignup
5
6

More than 5 years have passed since last update.

バッチ処理用にloggerを追加する

Last updated at Posted at 2012-07-23

Railsでバッチ処理をしていて標準のログとは別のファイルに出力したかったので、バッチ処理のログを別のファイルに出力する方法をまとめておきます。

標準のLoggerでもいいのですがLog4rを使用したので、Gemfileに下記を追加します。

Gemfile
gem 'log4r'

Log4rの初期設定を下記に記述します。

config/initializers/batch_logger.rb
formatter = Log4r::PatternFormatter.new(:pattern => "%d %C [%l]: %M", :date_format => "%Y/%m/%d %H:%M:%S")
if Rails.env == "development"
  outputter = Log4r::StdoutOutputter.new(STDOUT, :formatter => formatter)
else
  outputter = Log4r::StdoutOutputter.new(File.expand_path("log/batch_log_#{Rails.env}.log", Rails.root), :formatter => formatter)
end
BatchLogger = Log4r::Logger.new("My App")
BatchLogger.add(outputter)

これで、scriptの中でBathLogger.errorBatchLogger.infoと記述してログに出力します。

5
6
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6