I had various Rails.logger statements in my Resque background jobs but they were never hitting the the actual log.

Turns out the problem was due to ActiveSupport::BufferedLogger flushing. What happens is that by default the flush period is 1000 statements, but since a given Resque job has such a short lifespan the flush period never gets reached.

The solution is to turn on auto flushing for the duration of that job