public bool Log <T>(LogLevel level, T logInfo, object source, IDataFormartter <T, string> formartter = null) { if (IsEnabled) { try { var c = Console.ForegroundColor; Console.ForegroundColor = TimeForegroundColor; Console.Write($"[{DateTime.Now}] "); Console.ForegroundColor = PromptForegroundColor; Console.Write("from "); Console.ForegroundColor = SourceForegroundColor; Console.WriteLine($"[{source}]:"); Console.ForegroundColor = ((Func <LogLevel, ConsoleColor>)(l => { switch (l) { case LogLevel.Trace: return(TraceContentColor); case LogLevel.Debug: return(DebugContentColor); case LogLevel.Info: return(InfoContentColor); case LogLevel.Warning: return(WarningContentColor); case LogLevel.Error: return(ErrorContentColor); case LogLevel.Fatal: return(FatalContentColor); default: return(InfoContentColor); } }))(level); Console.WriteLine(logInfo); Console.ForegroundColor = c; } catch (Exception) { return(false); } } return(false); }
public bool AddLog <T>(LogLevel level, T logInfo, object source, IDataFormartter <T, string> formartter = null) { return(_provider.Log(level, logInfo, source, formartter)); }