Module: CleanSweep::PurgeRunner::Logging

Included in:
CleanSweep::PurgeRunner
Defined in:
lib/clean_sweep/purge_runner/logging.rb

Instance Method Summary (collapse)

Instance Method Details

- (Object) format(time)



31
32
33
34
35
36
37
# File 'lib/clean_sweep/purge_runner/logging.rb', line 31

def format(time)
  format_string = "%H:%M:%S"
  if (time.to_i > (24 * 60 * 60))
    format_string = "%d days, %H:%M"
  end
  Time.at(time).strftime(format_string)
end

- (Object) log(level, msg)



25
26
27
28
29
# File 'lib/clean_sweep/purge_runner/logging.rb', line 25

def log level, msg
  prefix = level == :debug ? " *** " : " ** "
  out = msg.split("\n").map {|line| prefix + line}.join("\n")
  @logger.send level, out
end

- (Object) report(force = false)



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/clean_sweep/purge_runner/logging.rb', line 3

def report(force=false)
  report_duration = Time.now - @report_interval_start
  if (force || report_duration >= @report_interval)
    while (@report_interval_start < Time.now - @report_interval) do
      @report_interval_start += @report_interval
    end
    report  = []
    elapsed = [1, (Time.now - @start).to_i].max
    rate    = (@total_deleted / elapsed).to_i
    rate    = "#{rate > 0 ? '%12i' % rate : ('%12s' %'< 1')} records/second"
    report << "report:"
    if copy_mode?
      report << "  #{@dry_run ? 'queried' : 'copied'}: #{'%12i' % @total_deleted} #{@model.table_name} records"
    else
      report << "  #{@dry_run ? 'queried' : 'deleted'}: #{'%12i' % @total_deleted} #{@model.table_name} records"
    end
    report << "  elapsed: #{'%12s' % format(elapsed)}"
    report << "  rate:    #{rate}"
    log :info,  report.join("\n")
  end
end