    protected void append(ILoggingEvent event)
    {
        Throwable throwable = null;
        IThrowableProxy throwableProxy = event.getThrowableProxy();
        if (throwableProxy instanceof ThrowableProxy) {
            throwable = ((ThrowableProxy) throwableProxy).getThrowable();
        }
        try {
            LogLevel logLevel = LogLevel.valueOf(event.getLevel().toString());
            LogEvent logevent = new LogEvent(logLevel, event.getMessage(), event.getArgumentArray(), throwable);
            getObservationManager().notify(logevent, event.getLoggerName(), null);
        } catch (IllegalArgumentException e) {
            this.logger.debug("Unsupported log level {0}", event.getLevel());
        } catch (ComponentLookupException e) {
            this.logger.error("Can't find any implementation of org.xwiki.observation.ObservationManager", e);
        }
    }

    protected void append(ILoggingEvent event)
    {
        Throwable throwable = null;
        IThrowableProxy throwableProxy = event.getThrowableProxy();
        if (throwableProxy instanceof ThrowableProxy) {
            throwable = ((ThrowableProxy) throwableProxy).getThrowable();
        }
        try {
            LogLevel logLevel = LogLevel.valueOf(event.getLevel().toString());
            LogEvent logevent = new LogEvent(logLevel, event.getMessage(), event.getArgumentArray(), throwable);
            getObservationManager().notify(logevent, event.getLoggerName(), null);
        } catch (IllegalArgumentException e) {
            this.logger.debug("Unsupported log level {0}", event.getLevel());
        } catch (ComponentLookupException e) {
            this.logger.error("Can't find any implementation of [" + ObservationManager.class.getName() + "]", e);
        }
    }
