8 cattr_accessor :running
13 tail_thread = tail(Options.log_file)
14 Rack::Handler::Mongrel.run(Dispatcher.new, :Port => Options.port) do |server|
15 logger.info "== Sinatra has taken the stage on port #{server.port}!"
18 self.class.running = false
19 logger.info "\n== Sinatra has ended his set (crowd applauds)"
22 self.class.running = true
26 tail_thread.kill if tail_thread
38 logger = Logger.new(open(Options.log_file, 'w'))
39 [Server, EventContext, Event, Dispatcher].each do |klass|
45 FileUtils.touch(log_file)
46 cursor = File.size(log_file)
47 last_checked = Time.now
48 tail_thread = Thread.new do
49 File.open(log_file, 'r') do |f|
52 if f.mtime > last_checked
53 last_checked = f.mtime
55 cursor += contents.length