No commit activity in last 3 years
No release in over 3 years
See readme.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies
 Project Readme

RailsCronLogger

A logger for rails cron jobs that want output that is sent to standard out and is:

  1. Formatted in the same way as Rails.logger
  2. At the same log level as Rails.logger

Example usage

logger = RailsCronLogger::Logger.new
logger.info "info"
logger.debug "debug"

You can optionally supply a :logdev parameter to send the logs somewhere else, while keeping the formatting and log level of Rails.

logger = RailsCronLogger::Logger.new(:logdev => '/some/log/path.log')

:logdev is the same type of argument as can be passed to the normal Ruby Logger

Note: In the test environment logs are sent to the normal Rails log device by default to avoid mixing log messages with test output.

Note on flushing

You probably also want to set $stdout.sync = true in your crontab.

See http://coderrr.wordpress.com/2008/12/20/automatically-flushing-redirected-or-piped-stdout/

Example:

1 * * * * rails runner '$stdout.sync = true; <your code here>'

Setting $stdout.sync = true in this gem seems a bit overreaching, but for convenience if you pass :sync => true to Logger.new then rails-cron-logger will perform this step for you.

Example:

logger = RailsCronLogger::Logger.new(:sync => true)