コード例 #1
0
    public static void LogColor(string log, LogColorEnum color)
    {
        switch (color)
        {
        case LogColorEnum.Red:
            Debug.Log("<color=#ff0000>" + log + "</color>");
            break;

        case LogColorEnum.Green:
            Debug.Log("<color=#00ff00>" + log + "</color>");
            break;

        case LogColorEnum.Blue:
            Debug.Log("<color=#0000ff>" + log + "</color>");
            break;

        case LogColorEnum.Yellow:
            Debug.Log("<color=#ffff00>" + log + "</color>");
            break;

        case LogColorEnum.White:
            Debug.Log("<color=#ffffff>" + log + "</color>");
            break;

        case LogColorEnum.Gray:
            Debug.Log("<color=#555555>" + log + "</color>");
            break;

        default:
            Debug.Log(log);
            break;
        }
    }
コード例 #2
0
ファイル: LogUtils.cs プロジェクト: rab000/thappyphone
        public static Color GetColor(LogColorEnum color)
        {
            Color c = new Color();

            switch (color)
            {
            case LogColorEnum.white:
                c = Color.white;
                break;

            case LogColorEnum.red:
                c = Color.red;
                break;

            case LogColorEnum.blue:
                c = Color.blue;
                break;

            case LogColorEnum.green:
                c = Color.green;
                break;

            case LogColorEnum.yellow:
                c = Color.yellow;
                break;

            case LogColorEnum.magenta:
                c = Color.magenta;
                break;

            case LogColorEnum.cyan:
                c = Color.cyan;
                break;
            }

            return(c);
        }
コード例 #3
0
ファイル: LogMgr.cs プロジェクト: rab000/thappyphone
        public static void I(string msg, string tag = LogDefault.TAG_NAME_DEFALUT, LogColorEnum color = LogColorEnum.green)
        {
            if (!LogConfig.BeShowLog)
            {
                return;
            }

            LogStruct logStruct = new LogStruct();

            logStruct.Msg      = msg;
            logStruct.Tag      = tag;
            logStruct.Time     = LogUtils.GetCurTime();
            logStruct.LogColor = color;
            logStruct.Type     = LogType.Log;
            LogUtils.SB.Clear();

            var stack  = new System.Diagnostics.StackTrace(true);
            var frames = stack.GetFrames();
            int length = frames.Length;

            for (int i = 0; i < length; i++)
            {
                string fileName = frames[i].GetFileName();
                fileName = System.IO.Path.GetFileName(fileName);
                var    method     = frames[i].GetMethod();
                Type   classType  = method.ReflectedType;
                string _nameSpace = classType.Namespace;
                string className  = classType.Name;
                string methodName = method.Name;
                int    lineNum    = frames[i].GetFileLineNumber();

                LogUtils.SB.Append(_nameSpace);
                LogUtils.SB.Append(".");
                LogUtils.SB.Append(className);
                LogUtils.SB.Append(":");
                LogUtils.SB.Append(methodName);
                LogUtils.SB.Append("()");
                LogUtils.SB.Append(" ( at ");
                LogUtils.SB.Append(fileName);
                LogUtils.SB.Append(":");
                LogUtils.SB.Append(lineNum);
                LogUtils.SB.Append("\n");
            }

            logStruct.StackTrace = LogUtils.SB.ToString();

            LogDataMgr.AddLog(logStruct);

            //NINFO 之所以screen console分开处理,因为MsgRec不能接收到tag,color等信息
            //这也是难点,所以要么输出到screen,要么到控制台,两者同时存在也没意义
            if (LogConfig.BeWrite2Screen)
            {
                Ins.RefreshCurLogList();

                if (LogConfig.BeWirte2Remote)
                {
                    Buffer.Clear();

                    Buffer.PutString(GetStringLog(logStruct));

                    //Buffer.PutString("我");


                    byte[] bs = Buffer.ToArray();

                    //for (int i = 0; i < bs.Length; i++)
                    //{
                    //    Debug.Log("客户端发送i:"+i+"--->"+bs[i]);
                    //}

                    LogHttpClient.GetIns().Post((short)125, bs, null);
                }

                if (LogConfig.BeWrite2File)
                {
                    byte[] bs = Buffer.ToArray();
                    FileHelper.WriteBytes2File_Append(LogConfig.LogFileSavePath, bs);
                }
            }
            else
            {
                Debug.Log(GetStringLog(logStruct));
            }
        }
コード例 #4
0
ファイル: LogMgr.cs プロジェクト: rab000/thappyphone
        public static void E(string className, string funcName, string content, bool beShow = true, string tag = LogDefault.TAG_NAME_DEFALUT, LogColorEnum color = LogColorEnum.red)
        {
            if (!LogConfig.BeShowLog)
            {
                return;
            }
            if (!beShow)
            {
                return;
            }

            if (SB.Length > 0)
            {
                SB.Remove(0, SB.Length);
            }
            SB.Append("[e]-[");
            SB.Append(className);
            SB.Append("->");
            SB.Append(funcName);
            SB.Append("][");
            SB.Append(content);
            SB.Append("]");
            string s = SB.ToString();

            E(s, tag, color);
        }
コード例 #5
0
ファイル: LogMgr.cs プロジェクト: rab000/thappyphone
        public static void E(string msg, string tag = LogDefault.TAG_NAME_DEFALUT, LogColorEnum color = LogColorEnum.red)
        {
            if (!LogConfig.BeShowLog)
            {
                return;
            }
            LogStruct logStruct = new LogStruct();

            logStruct.Msg      = msg;
            logStruct.Tag      = tag;
            logStruct.Time     = LogUtils.GetCurTime();
            logStruct.LogColor = color;
            logStruct.Type     = LogType.Error;

            LogUtils.SB.Clear();

            var stack  = new System.Diagnostics.StackTrace(true);
            var frames = stack.GetFrames();
            int length = frames.Length;

            for (int i = 0; i < length; i++)
            {
                string fileName = frames[i].GetFileName();
                fileName = System.IO.Path.GetFileName(fileName);
                var    method     = frames[i].GetMethod();
                Type   classType  = method.ReflectedType;
                string _nameSpace = classType.Namespace;
                string className  = classType.Name;
                string methodName = method.Name;
                int    lineNum    = frames[i].GetFileLineNumber();

                LogUtils.SB.Append(_nameSpace);
                LogUtils.SB.Append(".");
                LogUtils.SB.Append(className);
                LogUtils.SB.Append(":");
                LogUtils.SB.Append(methodName);
                LogUtils.SB.Append("()");
                LogUtils.SB.Append(" ( at ");
                LogUtils.SB.Append(fileName);
                LogUtils.SB.Append(":");
                LogUtils.SB.Append(lineNum);
                LogUtils.SB.Append("\n");
            }

            logStruct.StackTrace = LogUtils.SB.ToString();

            LogDataMgr.AddLog(logStruct);

            if (LogConfig.BeWrite2Screen)
            {
                Ins.RefreshCurLogList();

                if (LogConfig.BeWirte2Remote)
                {
                    Buffer.Clear();

                    Buffer.PutString(GetStringLog(logStruct));

                    byte[] bs = Buffer.ToArray();

                    LogHttpClient.GetIns().Post((short)125, bs, null);
                }

                if (LogConfig.BeWrite2File)
                {
                    byte[] bs = Buffer.ToArray();
                    FileHelper.WriteBytes2File_Append(LogConfig.LogFileSavePath, bs);
                }
            }
            else
            {
                //MsgRec 会做log文件保存,和向远程传送log,所以使用cosonle输出不用加这两项
                Debug.Log(GetStringLog(logStruct));
            }
        }