首页 > 代码库 > unity3d log管理

unity3d log管理

unity3d的log管理,主要区分log的重要程度,有时候习惯在项目开发过程中随意打log,到后期出现log比较多且混乱的情况,在真机上调试的时候也会很不方便。

这里记录下最近写的一个Log管理类,还有很大的优化空间,以后有时间在详细弄下。

public enum LogLevel  //Log等级    {        Everything,        Normal,        Important,        Emergy    }    public enum LogColor //Log颜色    {        White,        Red,        Yellow,        Blue,        Green,        Purple,        Orange    }    public static class Log    {        public static Dictionary<LogColor, string> colors = new Dictionary<LogColor, string>();        public static LogLevel curMsgType = LogLevel.Everything; //当前允许的打印等级        public static void InitColor()        {            colors.Add(LogColor.White, "FFFFFF");            colors.Add(LogColor.Green, "00FF00");            colors.Add(LogColor.Blue, "99CCFF");            colors.Add(LogColor.Red, "FF0000");            colors.Add(LogColor.Yellow, "FFFF00");            colors.Add(LogColor.Purple, "CC6699");            colors.Add(LogColor.Orange, "FF9933");        }        public static void LogMsg(string msg, LogColor color = LogColor.White, LogLevel type = LogLevel.Normal)        {            if (type < curMsgType)  //只允许打印比curMsgType等级高的Log,方便Log等级管理            {                return;            }            msg = string.Format("<color=#{0}>{1}</color>",colors[color],msg);            Debug.Log(msg);        }        public static void LogMsg(string msg, GameObject go,LogLevel type = LogLevel.Normal, LogColor color = LogColor.White)        {            if (type < curMsgType)            {                return;            }            msg = string.Format("<color=#{0}>{1}</color>", colors[color], msg);            Debug.Log(msg,go);        }    }

 

unity3d log管理