Ejemplo n.º 1
0
    private static void TryLog(string message, Level messageLevel, Category category = Category.Unknown, params object[] args)
    {
        Level referenceLevel = LogLevel;

        if (LogOverrides.ContainsKey(category))
        {
            referenceLevel = LogOverrides[category];
        }

        if (referenceLevel < messageLevel)
        {
            return;
        }

        string categoryPrefix = category == Category.Unknown ? "" : "[" + category + "] ";

        string msg = categoryPrefix + message;

        if (args.Length > 0)
        {
            switch (messageLevel)
            {
            case Level.Off:
                break;

            case Level.Error:
                Debug.LogErrorFormat(msg, args);
                break;

            case Level.Warning:
                Debug.LogWarningFormat(msg, args);
                break;

            case Level.Info:
                Debug.LogFormat(msg, args);
                break;

            case Level.Trace:
                Debug.LogFormat(msg, args);
                break;
            }
        }
        else
        {
            switch (messageLevel)
            {
            case Level.Off:
                break;

            case Level.Error:
                Debug.LogError(msg);
                break;

            case Level.Warning:
                Debug.LogWarning(msg);
                break;

            case Level.Info:
                Debug.Log(msg);
                break;

            case Level.Trace:
                Debug.Log(msg);
                break;
            }
        }

        if (RconManager.Instance != null)
        {
            RconManager.AddLog(msg);
        }

        DebugConsole.AmendLog(msg);
    }