code: private void additionalFields(Map<String, Object> map, ILoggingEvent eventObject) {
  
          if (useLoggerName) {
              map.put("_loggerName", eventObject.getLoggerName());
          }
  
          if(useMarker && eventHasMarker(eventObject)) {
              map.put("_marker", eventObject.getMarker().toString());
          }
  
          if (useThreadName) {
              map.put("_threadName", eventObject.getThreadName());
          }
  
          Map<String, String> mdc = eventObject.getMDCPropertyMap();
  
          if (mdc != null) {
  
              if (includeFullMDC) {
                  for (Entry<String, String> e : mdc.entrySet()) {
                      if (additionalFields.containsKey(e.getKey())) {
                          map.put(additionalFields.get(e.getKey()), convertFieldType(e.getValue(), additionalFields.get(e.getKey())));
                      } else {
                          map.put("_" + e.getKey(), convertFieldType(e.getValue(), "_" + e.getKey()));
                      }
                  }
              } else {
                  for (String key : additionalFields.keySet()) {
                      String field = mdc.get(key);
                      if (field != null) {
                          map.put(additionalFields.get(key), convertFieldType(field, key));
                      }
                  }
              }
          }
      }
docs: Converts the additional fields into proper GELF JSON
  
  @param map         The map of additional fields
  @param eventObject The Logging event that we are converting to GELF