using System; using System.Collections.Generic; namespace CMLeonOS.Logger { public static class Log { private static List logs = new List(); private static List> logEmittedReceivers = new List>(); public static List Logs { get { return logs; } } public static List> LogEmittedReceivers { get { return logEmittedReceivers; } } public static void AddReceiver(Action receiver) { logEmittedReceivers.Add(receiver); } public static void Emit(LogLevel level, string source, string message) { var entry = new LogEntry(level, source, message); logs.Add(entry); foreach (var receiver in logEmittedReceivers) { receiver(entry); } } } }