Additional hash arguments are:
Directory of the log file
Time.strftime format string (default is “%Y-%m-%d”)
# File lib/log4r/outputter/datefileoutputter.rb, line 47 47: def initialize(_name, hash={}) 48: @DatePattern = (hash[:date_pattern] or hash['date_pattern'] or 49: DEFAULT_DATE_FMT) 50: @DateStamp = Time.now.strftime( @DatePattern); 51: _dirname = (hash[:dirname] or hash['dirname']) 52: # hash[:dirname] masks hash[:filename] 53: if _dirname 54: if not FileTest.directory?( _dirname) 55: raise StandardError, "'#{_dirname}' must be a valid directory", caller 56: end 57: end 58: 59: _filename = (hash[:filename] or hash['filename']) 60: if _filename.nil? 61: @filebase = File.basename( $0, '.rb') + ".log" 62: else 63: @filebase = File.basename((hash[:filename] or hash['filename'] or "")) 64: end 65: 66: # Get rid of the 'nil' in the path 67: path = [_dirname, @filebase.sub(/(\.\w*)$/, "_#{@DateStamp}" + '\1')].compact 68: hash[:filename] = hash['filename'] = File.join(path) 69: 70: super(_name, hash) 71: end
change the file
# File lib/log4r/outputter/datefileoutputter.rb, line 101 101: def change 102: begin 103: @out.close 104: rescue 105: Logger.log_internal { 106: "DateFileOutputter '#{@name}' could not close #{@filename}" 107: } 108: end 109: makeNewFilename 110: @out = File.new(@filename, (@trunc ? "w" : "a")) 111: Logger.log_internal { 112: "DateFileOutputter '#{@name}' now writing to #{@filename}" 113: } 114: end
construct a new filename from the DateStamp
# File lib/log4r/outputter/datefileoutputter.rb, line 84 84: def makeNewFilename 85: @DateStamp = Time.now.strftime( @DatePattern); 86: @filename = File.join(File.dirname(@filename), 87: @filebase.sub(/(\.\w*)$/, "_#{@DateStamp}" + '\1')) 88: end
does the file require a change?
# File lib/log4r/outputter/datefileoutputter.rb, line 91 91: def requiresChange 92: _DateStamp = Time.now.strftime( @DatePattern); 93: if not _DateStamp == @DateStamp 94: @DateStamp = _DateStamp 95: return true 96: end 97: false 98: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.