toHtml method

String toHtml(
  1. List<Log> logs
)

Implementation

String toHtml(List<hive_log.Log> logs) {
  final buffer = StringBuffer();
  try {
    buffer.write('<html>');
    buffer.write("<head>");
    buffer.write(
        "<style> table, th, td { padding: 15px; border: 1px solid black; border-collapse: collapse;} </style>");
    buffer.write("</head>");
    buffer.write('<table border="1">');

    // Build Header
    buffer.write("<tr>");
    buffer.write("<td>Date</td>");
    buffer.write("<td>Type</td>");
    buffer.write("<td>Message</td>");
    //buffer.write("<td>Caller</td>");
    buffer.write("</tr>");

    for (var log in logs) {
      var color = 'black';
      if (log.type == "error" || log.type == "exception") color = '#FF0000';
      if (log.type == "warning") color = '#DAA520';
      if (log.type == "debug") color = '#006400';

      String message =
          log.message.replaceAll("<", " &lt;").replaceAll(">", " &gt;");
      //String caller  = log.caller != null ? log.caller!.replaceAll("<", " &lt;").replaceAll(">", " &gt;") : "";

      buffer.write('<tr style="color:$color">');
      buffer.write('<td>${log.date}</td>');
      buffer.write('<td>${fromEnum(log.type)}type</td>');
      buffer.write('<td>$message</td>');
      //buffer.write('<td>$caller</td>');
      buffer.write("</tr>");
    }

    buffer.write("<//table>");
    buffer.write("<//html>");
  } catch (e) {
    Log().exception(e);
  }
  return buffer.toString();
}