#!/usr/bin/env ruby

require "log4r"
require 'log4r/configurator'
require "../src/drbviewoutputter"

raise "no port given: drb_log <port> " if ARGV.length!=1

# set some custom levels
Log4r::Configurator.custom_levels("Foo", "Bar", "Debug", "Info", "Warn", "Error", "Fatal", "Test")

logger = Log4r::Logger.new("mylog")
logger.trace = true
logger.add(Log4r::DRBViewOutputter.new("rlogview", { "uri" => "druby://:#{ARGV[0]}", "buffsize" => 5 }))

def do_log(logger)
    case rand(8)
    when 7
        logger.foo("foo log message")
    when 6
        logger.bar("bar log message")
    when 5
        logger.debug("debug log message")
    when 4
        logger.info("info log message")
    when 3
        logger.warn("warn log message")
    when 2
        logger.error("error log message")
    when 1
        logger.fatal("fail log message")
    when 0
        logger.test("test log message")
    end
end


1000.times { 
  do_log(logger)
}
100.times { 
  do_log(logger)
  sleep (rand(10).to_f/20)
}



