protected void append(ILoggingEvent event) {
try {
ThrowableProxy throwableProxy = (ThrowableProxy) event.getThrowableProxy();
Throwable throwable = throwableProxy == null ? null : throwableProxy.getThrowable();
String message = event.getFormattedMessage();
LogLevel level = LogLevelConverter.toGradleLogLevel(event.getLevel(), event.getMarker());
outputEventListener.onOutput(new LogEvent(event.getTimeStamp(), event.getLoggerName(), level, message, throwable));
} catch (Throwable t) {
// fall back to standard out
t.printStackTrace(defaultStandardOut);
}