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; } }
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); }
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)); } }
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); }
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)); } }