private static void safeObjectAppend(StringBuffer sbuf, Object o) {
        try {
            String oAsString = o.toString();
            sbuf.append(oAsString);
        } catch (Throwable t) {
            System.err
                    .println("SLF4J: Failed toString() invocation on an object of type ["
                            + o.getClass().getName() + "]");
            t.printStackTrace();
            sbuf.append("[FAILED toString()]");
        }

    }
Same principle as the {@link #format(String, Object)} and
{@link #format(String, Object, Object)} methods except that any number of
arguments can be passed in an array.

@param messagePattern
         The message pattern which will be parsed and formatted
@param argArray
         An array of arguments to be substituted in place of formatting
         anchors
@return The formatted message
lts-core/src/main/java/com/github/ltsopensource/core/logger/support/MessageFormatter.java