code: public String consoleLogFormat(GenericData genData) {
          StringBuilder sb = new StringBuilder(256);
          KeyValuePair[] pairs = genData.getPairs();
          KeyValuePair kvp = null;
          String message = null;
          String throwable = null;
          Integer levelValue = null;
          for (KeyValuePair p : pairs) {
  
              if (p != null && !p.isList()) {
  
                  kvp = p;
                  if (kvp.getKey().equals(LogFieldConstants.FORMATTEDMSG)) {
                      message = kvp.getStringValue();
                  } else if (kvp.getKey().equals(LogFieldConstants.LEVELVALUE)) {
                      levelValue = kvp.getIntValue();
                  } else if (kvp.getKey().equals(LogFieldConstants.THROWABLE_LOCALIZED)) {
                      throwable = kvp.getStringValue();
                  }
              }
          }
  
          sb.append(BaseTraceFormatter.levelValToString(levelValue));
          sb.append(message);
  
          //add throwable localized message if exists
          if (throwable != null) {
              sb.append(LoggingConstants.nl).append(throwable);
          }
  
          return sb.toString();
      }
docs: The console log is not structured, and relies on already formatted/translated
  messages
  
  @param genData
  @return Formatted string for the console