Class AgoraLayout

A layout with colored LogLevel

class AgoraLayout
  : dtext.log.Appender.Appender.Layout ;

Methods

NameDescription
format (event, dg) Format the message
coloredName (lvl)

Example

import std.datetime;
import core.memory;
import core.time;

char[] result = new char[](2048);
result.length = 0;
assumeSafeAppend(result);

scope dg = (in char[] v) { result ~= v; };
scope layout = new AgoraLayout();
LogEvent event = {
   msg: "Have you met Ted?",
   name: "Barney",
   time: SysTime.fromUnixTime(1525048962, UTC()) + 420.msecs,
   level: LogLevel.Warn,
   host: null,
};

const before = GC.stats();
layout.format(event, dg);
const after = GC.stats();
assert(result == "2018-04-30 00:42:42,420 \u001b[33mWarn\u001b[0m [Barney] - Have you met Ted?");
assert(before == after);