protected Map<String, Object> createData(E event) { Map<String, Object> data = new HashMap<String, Object>(); data.put(DATA_MSG, encoder.encode(event)); if (event instanceof ILoggingEvent) { ILoggingEvent loggingEvent = (ILoggingEvent) event; data.put(DATA_MESSAGE, loggingEvent.getFormattedMessage()); data.put(DATA_LOGGER, loggingEvent.getLoggerName()); data.put(DATA_THREAD, loggingEvent.getThreadName()); data.put(DATA_LEVEL, loggingEvent.getLevel().levelStr); if (loggingEvent.getMarker() != null) { data.put(DATA_MARKER, loggingEvent.getMarker().toString()); } if (loggingEvent.hasCallerData()) { data.put(DATA_CALLER, new CallerDataConverter().convert(loggingEvent)); } if (loggingEvent.getThrowableProxy() != null) { data.put(DATA_THROWABLE, ThrowableProxyUtil.asString(loggingEvent.getThrowableProxy())); } for (Map.Entry<String, String> entry : loggingEvent.getMDCPropertyMap().entrySet()) { data.put(entry.getKey(), entry.getValue()); } } if (additionalFields != null) { data.putAll(additionalFields); } return data; }