ref: dockerize
app/models/spammer_logger.rb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
class SpammerLogger < Logger @logpath = Rails.root.join('log', "#{ENV['RAILS_ENV']}_spammers.log") @logger = new(@logpath) def self.log(spammer_ip, object=nil) if object if object.kind_of?(Comment) @logger << "[#{Time.now.strftime('%F %T %z')}] Comment-id: #{object.id} IP: #{spammer_ip}\n" elsif object.kind_of?(SuggestArticle) @logger << "[#{Time.now.strftime('%F %T %z')}] SuggestArticle-id: #{object.id} IP: #{spammer_ip}\n" end else @logger << "[#{Time.now.strftime('%F %T %z')}] IP: #{spammer_ip}\n" end end def self.clean_log File.delete(@logpath) if File.exists?(@logpath) end def self.reload_log clean_log @logger = new(@logpath) end end |