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;
}