Created
April 22, 2015 08:44
-
-
Save joarhal/ff0655699f77676d9055 to your computer and use it in GitHub Desktop.
Simple unity3d log system wrapper.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace Assets.Scripts.Infrastructure | |
{ | |
public class Log | |
{ | |
private static LogLevel _level; | |
private static Log _log; | |
public static event DebugMessageAction OnDebugMessageRecieve; | |
public delegate void DebugMessageAction(string textMessage); | |
private Log() | |
{ | |
} | |
public static void SetLevel(LogLevel logLevel) | |
{ | |
_level = logLevel; | |
} | |
public static Log Get() | |
{ | |
return _log ?? (_log = new Log()); | |
} | |
/// <summary> | |
/// Spam level log | |
/// </summary> | |
/// <param name="message"></param> | |
public static void Spam(string message) | |
{ | |
Get().Message(message, LogLevel.SPAM); | |
} | |
/// <summary> | |
/// Care message log | |
/// </summary> | |
/// <param name="message"></param> | |
public static void Care(string message) | |
{ | |
Get().Message(message, LogLevel.CARE); | |
} | |
/// <summary> | |
/// Warning level log | |
/// </summary> | |
/// <param name="message"></param> | |
public static void Warning(string message) | |
{ | |
Get().Message(message, LogLevel.WARNING); | |
} | |
/// <summary> | |
/// Debug level log | |
/// This level for ui debug console | |
/// </summary> | |
/// <param name="message"></param> | |
public static void Debug(string message) | |
{ | |
Get().Message(message, LogLevel.DEBUG); | |
} | |
/// <summary> | |
/// Log message on log instance | |
/// </summary> | |
/// <param name="message"></param> | |
/// <param name="level"></param> | |
public void Message(string message, LogLevel level) | |
{ | |
if (level == LogLevel.DEBUG) | |
if (OnDebugMessageRecieve != null) | |
OnDebugMessageRecieve(message); | |
if (_level == LogLevel.WARNING) | |
if (level == LogLevel.WARNING) | |
UnityEngine.Debug.LogError(message); | |
if (_level == LogLevel.CARE) | |
{ | |
if (level == LogLevel.CARE) | |
UnityEngine.Debug.LogWarning(message); | |
if (level == LogLevel.WARNING) | |
UnityEngine.Debug.LogError(message); | |
} | |
if (_level == LogLevel.SPAM) | |
{ | |
if (level == LogLevel.CARE) | |
UnityEngine.Debug.LogWarning(message); | |
if (level == LogLevel.WARNING) | |
UnityEngine.Debug.LogError(message); | |
if (level == LogLevel.SPAM) | |
UnityEngine.Debug.Log(message); | |
} | |
} | |
public enum LogLevel | |
{ | |
DEBUG = -1, | |
NONE = 0, | |
WARNING = 2, | |
CARE = 3, | |
SPAM = 4 | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Using:
Log.SetLevel(Log.LogLevel.SPAM);
Log.Care("Care message");
Log.Debug("Debug message for ui callback");
Log.Spam("Spam message");
Log.Warning("Warning message");