예제 #1
0
        public static Color GetLogLevelColor(LogLevel level)
        {
            switch (level)
            {
            case LogLevel.Trace:
                return(Color.DarkGray);

            case LogLevel.Debug:
                return(Color.Gray);

            case LogLevel.Game:
                return(Color.Magenta);

            case LogLevel.Information:
                return(Color.Green);

            case LogLevel.Warning:
                return(Color.Yellow);

            case LogLevel.Error:
                return(Color.Red);

            case LogLevel.Fatal:
                return(Color.DarkRed);
            }

            throw new ArgumentOutOfRangeException(nameof(level), level, null);
        }
예제 #2
0
        public static string GetLogLevelPrefix(LogLevel level)
        {
            switch (level)
            {
            case LogLevel.Trace:
                return("Trace");

            case LogLevel.Debug:
                return("Debug");

            case LogLevel.Game:
                return("Game");

            case LogLevel.Information:
                return("Info");

            case LogLevel.Warning:
                return("Warn");

            case LogLevel.Error:
                return("Error");

            case LogLevel.Fatal:
                return("Fatal");
            }

            throw new ArgumentOutOfRangeException(nameof(level), level, null);
        }
예제 #3
0
        public void Log(LogLevel level, object message, Exception exception = null, params object[] arguments)
        {
            if (!IsEnabled(level))
            {
                return;
            }

            OnLog(message, level, exception, arguments);
        }
예제 #4
0
        public void Log(string message, LogLevel level = LogLevel.Information, Exception exception = null,
                        params object[] arguments)
        {
            if (!IsEnabled(level))
            {
                return;
            }

            OnLog(message, level, exception, arguments);
        }
예제 #5
0
 public virtual void SetEnabled(LogLevel level, bool enabled)
 {
     if (logLevels.ContainsKey(level))
     {
         logLevels[level] = enabled;
     }
     else
     {
         logLevels.Add(level, enabled);
     }
 }
예제 #6
0
        public virtual bool IsEnabled(LogLevel level)
        {
            if (logLevels.ContainsKey(level))
            {
                return(logLevels[level]);
            }

            var settingsLevel = (LogLevel)Enum.Parse(typeof(LogLevel), LogSettings.LogLevel, true);

            return(level >= settingsLevel);
        }
예제 #7
0
 public abstract void OnLog(string message, LogLevel level = LogLevel.Information, Exception exception = null,
                            params object[] bindings);