@Override
  public synchronized String format(LogRecord record) {
    StringBuilder sb = new StringBuilder();

    sb.append(dateFormat.format(new Date(record.getMillis())));
    sb.append(' ');
    sb.append(record.getLevel().getLocalizedName());
    sb.append(": ");
    sb.append(formatMessage(record));
    sb.append(LINE_SEPARATOR);

    if (record.getThrown() != null) {
      try {
        StringWriter sw = new StringWriter();
        PrintWriter pw = new PrintWriter(sw);
        record.getThrown().printStackTrace(pw);
        pw.close();
        sb.append(sw.toString());
      } catch (Exception e) {
        // ignore
      }
    }

    return sb.toString();
  }
    @Override
    @SuppressWarnings("ThrowableResultOfMethodCallIgnored")
    public String format(LogRecord record) {
      StringBuilder builder = new StringBuilder();

      builder.append(date.format(record.getMillis()));
      builder.append(" [");
      builder.append(record.getLevel().getLocalizedName().toUpperCase());
      builder.append("] ");
      builder.append(colorize(formatMessage(record)));
      builder.append('\n');

      if (record.getThrown() != null) {
        StringWriter writer = new StringWriter();
        record.getThrown().printStackTrace(new PrintWriter(writer));
        builder.append(writer.toString());
      }

      return builder.toString();
    }
 @Override
 public String format(LogRecord record) {
   StringWriter sw = new StringWriter();
   PrintWriter pw = new PrintWriter(sw);
   pw.append('[');
   pw.append(record.getLevel().toString());
   pw.append(']');
   pw.append(' ');
   pw.append(LOG_TIME_STAMP_FORMAT.format(new Date(record.getMillis())));
   pw.append(' ');
   pw.append('-');
   pw.append(' ');
   pw.append(record.getMessage());
   Throwable thrown = record.getThrown();
   if (thrown != null) {
     pw.println();
     thrown.printStackTrace(pw);
   }
   pw.println();
   return sw.toString();
 }
 static void logException(Exception e) {
   StringWriter trace = new StringWriter();
   e.printStackTrace(new PrintWriter(trace));
   logger.severe(trace.toString());
 }