public void onLog()

in twill-api/src/main/java/org/apache/twill/api/logging/PrinterLogHandler.java [58:95]


  public void onLog(LogEntry logEntry) {
    String utc = timestampToUTC(logEntry.getTimestamp());

    formatter.format("%s %-5s %s [%s] [%s] %s:%s(%s:%d) - %s\n",
                     utc,
                     logEntry.getLogLevel().name(),
                     getShortenLoggerName(logEntry.getLoggerName()),
                     logEntry.getHost(),
                     logEntry.getThreadName(),
                     getSimpleClassName(logEntry.getSourceClassName()),
                     logEntry.getSourceMethodName(),
                     logEntry.getFileName(),
                     logEntry.getLineNumber(),
                     logEntry.getMessage());
    formatter.flush();

    // Prints the throwable and stack trace.
    LogThrowable throwable = logEntry.getThrowable();
    while (throwable != null) {
      writer.append(throwable.getClassName()).append(": ").append(throwable.getMessage());
      writer.println();

      StackTraceElement[] stackTraces = throwable.getStackTraces();
      if (stackTraces != null) {
        for (StackTraceElement stackTrace : stackTraces) {
          writer.append("\tat ").append(stackTrace.toString());
          writer.println();
        }
      }

      throwable = throwable.getCause();
      if (throwable != null) {
        writer.append("Caused by: ");
      }
    }

    writer.flush();
  }