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);
        }
Exemple #2
0
 public bool AddLog <T>(LogLevel level, T logInfo, object source, IDataFormartter <T, string> formartter = null)
 {
     return(_provider.Log(level, logInfo, source, formartter));
 }