* <tt>Handler</tt>.
     * 
     * @param  record  description of the log event. A null record is
     *                 silently ignored and is not published
     */
    @Override
    public synchronized void publish(LogRecord record) {
	if (!isLoggable(record)) {
	    return;
	}
    
    //make sure the source class and method name is loaded here.  Otherwise, the ConsoleHandler
    //or FileHandler will push the wrong one
    record.getSourceClassName();
    
	int ix = (start+count)%buffer.length;
	buffer[ix] = record;
	if (count < buffer.length) {
	    count++;
	} else {
	    start++;
	}
	if (record.getLevel().intValue() >= pushLevel.intValue()) {
	    push();
	}
    }