Actions
Bug #11620
closedLogger throws "ArgumentError: argument out of range" with weekly rotation when switch to standard time (DST) and last day of the week is 1st of next month
Description
We discovered a bug within the Ruby Logger. Having 'weekly' as Argument for shift_age in this year (2015) when returned from summer time to standard time (DST).
Creating a new Logger results in throwing a "ArgumentError: argument out of range" Exception.
The bug affects this year because the last day of week (Sunday) is not within this month (it's the 1st of November)
require 'timecop'
Timecop.freeze(2015,10,24,13,37)
Logger.new('test','weekly')
# => #<Logger:0x007fe269c3a048 ...
Timecop.freeze(2015,10,25,13,37)
Logger.new('test','weekly')
# ArgumentError: argument out of range
# from /Users/stefan/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/logger.rb:547:in `mktime'
# from /Users/stefan/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/logger.rb:547:in `next_rotate_time'
# from /Users/stefan/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/logger.rb:589:in `initialize'
# from /Users/stefan/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/logger.rb:318:in `new'
# from /Users/stefan/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/logger.rb:318:in `initialize'
# from (irb):7:in `new'
# from (irb):7
# ...
Timecop.freeze(2015,10,26,13,37)
Logger.new('test','weekly')
# => #<Logger:0x007fe27046e470 ...
Actions
Like0
Like0Like0Like0Like0