LogEvent extends Message implements Event { public void log(Logger targetLogger) { Object[] argumentArray = getArgumentArray(); if (getArgumentArray() == null) { log(targetLogger, getLevel(), getMarker(), getMessage(), getThrowable()); } else { if (getThrowable() != null) { argumentArray = ArrayUtils.add(getArgumentArray(), getThrowable()); } log(targetLogger, getLevel(), getMarker(), getMessage(), argumentArray); } } LogEvent();  LogEvent(LogEvent logEvent);  LogEvent(LogLevel level, String message, Object[] argumentArray, Throwable throwable);  LogEvent(Marker marker, LogLevel level, String message, Object[] argumentArray, Throwable throwable);  LogEvent(Marker marker, LogLevel level, String message, Object[] argumentArray, Throwable throwable,
        long timeStamp); void log(Logger targetLogger); LogLevel getLevel(); long getTimeStamp(); @Override boolean matches(Object otherEvent); @Override String toString(); @Override int hashCode(); @Override boolean equals(Object object); static final Marker MARKER_BEGIN; static final Marker MARKER_END; }
@Test void testLogLogger() { LogEvent logEvent = new LogEvent(null, LogLevel.ERROR, "message", null, null); LogQueue queue = new LogQueue(); logEvent.log(queue); assertEquals(logEvent.getMessage(), "message"); }