module Egalite::AccessLogger

Public Class Methods

_open() click to toggle source
# File lib/egalite.rb, line 38
def _open
  @@dir = dir
  @@time = Time.now
  fn = sprintf("egaliteaccess-%04d-%02d-%02d-p%d.log", @@time.year, @@time.month, @@time.mday, Process.pid)
  @@io = open(File.join(dir,fn), "a")
end
io=(io) click to toggle source
# File lib/egalite.rb, line 35
def io=(io)
  @@io=io
end
open(dir) { || ... } click to toggle source
# File lib/egalite.rb, line 44
def open(dir)
  @@dir = dir
  yield
ensure
  @@io.close if @@io
end
write(line) click to toggle source
# File lib/egalite.rb, line 50
def write(line)
  return nil unless @@io
  
  @@lock.synchronize {
    if @@time and (@@time.mday != Time.now.mday)
      ## log rotation
      @@io.close
      _open
    end
    @@io.puts(line)
  }
end