module logging.sinks.ConsoleLogSink; import std.datetime; import logging.sinks.LogSink; import logging.formatters; public class ConsoleLogSink : LogSinkBase { public this(Formatter fmt = new ConsoleFormatter) { _formatter = fmt; } public override void _log(LogLevel loglevel, string m, string func, size_t line, SysTime time, string msg, uint thread_id) { auto fmsg = _formatter.format(loglevel, m, func, line, time, msg, thread_id); std.stdio.writeln(fmsg); } public void formatter(Formatter fmt) @property { _formatter = fmt; } private Formatter _formatter; }