/******************************************************************************** * 文件名: LogModule.cs * 全路径: \Script\GlobeDefine\LogModule.cs * 创建人: 李嘉 * 创建时间:2013-10-25 * * 功能说明:日志模块 * 修改记录: *********************************************************************************/ using System; using UnityEngine; namespace Module.Log { public class LogModule { private static void WriteLog(string msg, LOG_TYPE type) { #if UNITY_EDITOR switch (type) { case LOG_TYPE.DEGUG_LOG: Debug.Log(msg); break; case LOG_TYPE.WARNING_LOG: Debug.LogWarning(msg); break; case LOG_TYPE.ERROR_LOG: Debug.LogError(msg); break; } #else if (type == LOG_TYPE.ERROR_LOG) Debug.LogError(msg); #endif } public static void ErrorLog(string fort, params object[] areges) { if (areges.Length > 0) { var msg = string.Format(fort, areges); WriteLog(msg, LOG_TYPE.ERROR_LOG); } else { WriteLog(fort, LOG_TYPE.ERROR_LOG); } } public static void WarningLog(string fort, params object[] areges) { if (areges.Length > 0) { var msg = string.Format(fort, areges); WriteLog(msg, LOG_TYPE.WARNING_LOG); } else { WriteLog(fort, LOG_TYPE.WARNING_LOG); } } public static void DebugLog(string fort, params object[] args) { if (args.Length > 0) { var msg = string.Format(fort, args); WriteLog(msg, LOG_TYPE.DEGUG_LOG); } else { WriteLog(fort, LOG_TYPE.DEGUG_LOG); } } private static void ErrorLog(string msg) { WriteLog(msg, LOG_TYPE.ERROR_LOG); } private static void WarningLog(string msg) { WriteLog(msg, LOG_TYPE.WARNING_LOG); } public static void DebugLog(string msg) { WriteLog(msg, LOG_TYPE.DEGUG_LOG); } public static void Log(string logString, string stackTrace, LogType type) { switch (type) { case LogType.Log: DebugLog(logString); break; case LogType.Warning: WarningLog(logString); break; case LogType.Error: ErrorLog(logString); break; } } /// /// 这个函数轻易不要用,只在打印一些调试日志时用,效率较低 /// public static string ByteToString(byte[] byteData, int nStartIndex, int nCount) { var strResult = string.Empty; if (Application.isEditor) { if (nStartIndex < 0 || nStartIndex >= byteData.Length) return strResult; for (var i = nStartIndex; i < nCount && i < byteData.Length; i++) strResult += Convert.ToString(byteData[i]); } return strResult; } /* const string ERRORLOG = "./error_{0}.log"; const string DEBUGLOG = "./debug_{0}.log"; const string WARNINGLOG = "./warning_{0}.log"; */ private enum LOG_TYPE { DEGUG_LOG = 0, WARNING_LOG, ERROR_LOG } } }