docs: @Override
      public synchronized String format(LogRecord record) {
          cachedDate.setTime(record.getMillis());
          final StringBuilder sb = new StringBuilder();
          sb.append(cachedFormat.format(cachedDate));
          sb.append(" [").append(Thread.currentThread().getName()).append("]");
          sb.append(" ").append(record.getLevel().getName());
          sb.append(" (");
          final String className = record.getSourceClassName();
          if (className != null) {
              if (className.contains(".")) {
                  sb.append(className.substring(className.lastIndexOf(".") + ".".length()));
              } else {
                  sb.append(className);
              }
              final String methodName = record.getSourceMethodName();
              if (methodName != null) {
                  sb.append("@").append(methodName).append("()");
              }
          } else {
              sb.append(record.getLoggerName());
          }
          sb.append(") - ").append(formatMessage(record));
          final Throwable thrown = record.getThrown();
          if (thrown != null) {
              final StringWriter stringWriter = new StringWriter();
              final PrintWriter printWriter = new PrintWriter(stringWriter);
              try {
                  printWriter.println();
                  thrown.printStackTrace(printWriter);
              } finally {
                  printWriter.close();
              }
              sb.append(stringWriter.toString());
          }
          sb.append("\n");
          return sb.toString();
      }