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>${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();
}