@queue = Queue.new
@thread = Thread.new { loggers_thread }
@logs = Hash.new
- Dir.mkdir("#{@bot.botclass}/logs") unless File.exist?("#{@bot.botclass}/logs")
+ logdir = @bot.path 'logs'
+ Dir.mkdir(logdir) unless File.exist?(logdir)
+ # TODO what shall we do if the logdir couldn't be created? (e.g. it existed as a file)
event_irclog_list_changed(@bot.config['irclog.no_log'], @bot.config['irclog.do_log'])
@fn_format = @bot.config['irclog.filename_format']
end
end
def timestamp(time)
- return time.strftime @bot.config['irclog.timestamp_format']
+ return time.strftime(@bot.config['irclog.timestamp_format'])
end
def event_irclog_list_changed(nolist, dolist)
irclog "@ #{m.source} asked #{who} about #{[m.ctcp, m.message].join(' ')}", logtarget
end
else
- if m.public?
+ if m.public?
irclog "<#{m.source}> #{m.logmessage}", m.target
else
irclog "<#{m.source}(#{m.sourceaddress})> #{m.logmessage}", m.source
end
def logfilepath(where_str, now)
- File.join(@bot.botclass, 'logs', now.strftime(@fn_format) % { :where => where_str })
+ @bot.path('logs', now.strftime(@fn_format) % { :where => where_str })
end
protected
else
where_str = where.downcase.gsub(/[:!?$*()\/\\<>|"']/, "_")
end
- return unless can_log_on(where_str)
+ next unless can_log_on(where_str)
# close the previous logfile if we're rotating
if @logs.has_key? where_str
# If it's a file, we rename to filename.old.filedate
up = dir.dup
until File.exist? up
- up.replace File.dirname up
+ up.replace(File.dirname(up))
end
unless File.directory? up
backup = up.dup