[ruby-dev:49314] [Ruby trunk - Bug #11622] [Assigned] Logger weekly rotation should rename old logs as "Saturday"
From:
nobu@...
Date:
2015-10-27 03:43:38 UTC
List:
ruby-dev #49314
Issue #11622 has been reported by Nobuyoshi Nakada.
----------------------------------------
Bug #11622: Logger weekly rotation should rename old logs as "Saturday"
https://bugs.ruby-lang.org/issues/11622
* Author: Nobuyoshi Nakada
* Status: Assigned
* Priority: Normal
* Assignee: Hiroshi Nakamura
* ruby -v:
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
logger.rbで weekly rotation を指定したとき、日曜日での書き込みでログファイルが切り替えられますが、古いログファイル名に着く日付が前週の金曜日のものになっていますが、土曜日のものになるべきではないでしょうか。
以下のコードを実行すると、一回目の書き込み(`"2015-12-19 12:34:56 UTC hello-1"`)は log.20151218 に入っていて、最後に書き込まれた時刻よりも古いファイル名になっています。
~~~ruby
module FakeTime
attr_accessor :now
end
class << Time
prepend FakeTime
end
log = "log"
File.open(log, "w") {}
Time.now = Time.utc(2015, 12, 14, 0, 1, 1)
dev = Logger::LogDevice.new("log", shift_age: 'weekly')
Time.now = Time.utc(2015, 12, 19, 12, 34, 56)
dev.write("#{Time.now} hello-1\n")
File.utime(Time.now, Time.now, log)
Time.now = Time.utc(2015, 12, 20, 0, 1, 1)
File.utime(Time.now, Time.now, log)
dev.write("#{Time.now} hello-2\n")
~~~
---Files--------------------------------
0001-logger.rb-end-of-week-should-be-Saturday.patch (2.8 KB)
--
https://bugs.ruby-lang.org/