|
|
|
@ -194,36 +194,36 @@ require 'fileutils'
|
|
|
|
|
# end
|
|
|
|
|
# # e.g. "Thu Sep 22 08:51:08 GMT+9:00 2005: hello world"
|
|
|
|
|
#
|
|
|
|
|
class Logger
|
|
|
|
|
#具体内容请看https://bugs.ruby-lang.org/issues/7303
|
|
|
|
|
# Device used for logging messages.
|
|
|
|
|
class LogDevice
|
|
|
|
|
def shift_log_period(period_end)
|
|
|
|
|
postfix = period_end.strftime("%Y%m%d") # YYYYMMDD
|
|
|
|
|
age_file = "#{@filename}.#{postfix}"
|
|
|
|
|
if FileTest.exist?(age_file)
|
|
|
|
|
# try to avoid filename crash caused by Timestamp change.
|
|
|
|
|
idx = 0
|
|
|
|
|
# .99 can be overridden; avoid too much file search with 'loop do'
|
|
|
|
|
while idx < 100
|
|
|
|
|
idx += 1
|
|
|
|
|
age_file = "#{@filename}.#{postfix}.#{idx}"
|
|
|
|
|
break unless FileTest.exist?(age_file)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
# @dev.close rescue nil
|
|
|
|
|
# File.rename("#{@filename}", age_file)
|
|
|
|
|
# @dev = create_logfile(@filename)
|
|
|
|
|
#覆盖原来lib库的方法,将上边三行删除,增加下边两行
|
|
|
|
|
FileUtils.cp(@filename, age_file)
|
|
|
|
|
reset_logfile(@dev) # see below for this new method return true
|
|
|
|
|
return true
|
|
|
|
|
end
|
|
|
|
|
#打开原来lib库,新增一个方法
|
|
|
|
|
def reset_logfile(logdev)
|
|
|
|
|
logdev.truncate( 0 )
|
|
|
|
|
logdev.sync = true
|
|
|
|
|
add_log_header(logdev)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
# class Logger
|
|
|
|
|
# #具体内容请看https://bugs.ruby-lang.org/issues/7303
|
|
|
|
|
# # Device used for logging messages.
|
|
|
|
|
# class LogDevice
|
|
|
|
|
# def shift_log_period(period_end)
|
|
|
|
|
# postfix = period_end.strftime("%Y%m%d") # YYYYMMDD
|
|
|
|
|
# age_file = "#{@filename}.#{postfix}"
|
|
|
|
|
# if FileTest.exist?(age_file)
|
|
|
|
|
# # try to avoid filename crash caused by Timestamp change.
|
|
|
|
|
# idx = 0
|
|
|
|
|
# # .99 can be overridden; avoid too much file search with 'loop do'
|
|
|
|
|
# while idx < 100
|
|
|
|
|
# idx += 1
|
|
|
|
|
# age_file = "#{@filename}.#{postfix}.#{idx}"
|
|
|
|
|
# break unless FileTest.exist?(age_file)
|
|
|
|
|
# end
|
|
|
|
|
# end
|
|
|
|
|
# # @dev.close rescue nil
|
|
|
|
|
# # File.rename("#{@filename}", age_file)
|
|
|
|
|
# # @dev = create_logfile(@filename)
|
|
|
|
|
# #覆盖原来lib库的方法,将上边三行删除,增加下边两行
|
|
|
|
|
# FileUtils.cp(@filename, age_file)
|
|
|
|
|
# reset_logfile(@dev) # see below for this new method return true
|
|
|
|
|
# return true
|
|
|
|
|
# end
|
|
|
|
|
# #打开原来lib库,新增一个方法
|
|
|
|
|
# def reset_logfile(logdev)
|
|
|
|
|
# logdev.truncate( 0 )
|
|
|
|
|
# logdev.sync = true
|
|
|
|
|
# add_log_header(logdev)
|
|
|
|
|
# end
|
|
|
|
|
# end
|
|
|
|
|
# end
|
|
|
|
|