code: public static String format(LogRecord logRecord, File sourceDirectory) {
          final Cursor cursor = logRecord.getCursor();
          String relativePath = "";
          try {
              if (cursor != null) {
                  relativePath = new File(cursor.getFile()).getCanonicalPath()
                          .substring(sourceDirectory.getCanonicalPath().length() + 1);
              }
          } catch (IOException e) {
              // use the absolute path as fail-safe
              relativePath = cursor.getFile();
          }
          return relativePath.length() > 0 ?
                  String.format(ASCIIDOCTOR_FULL_LOG_FORMAT, logRecord.getSeverity(), relativePath, cursor.getLineNumber(), logRecord.getMessage())
                  :
                  String.format(ASCIIDOCTOR_SIMPLE_LOG_FORMAT, logRecord.getSeverity(), logRecord.getMessage())
                  ;
      }
docs: Formats the logRecord in a similar manner to original Asciidoctor.
  Note: prints the relative path of the file to `sourceDirectory`.
  
  @param logRecord       Asciidoctor logRecord to format
  @param sourceDirectory source directory of the converted AsciiDoc document
  @return Asciidoctor-like formatted string