Files
JJBB/Assets/Project/Script/Common/GameDefine/LogModule.cs

139 lines
3.8 KiB
C#
Raw Normal View History

2024-08-23 15:49:34 +08:00
/********************************************************************************
* 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;
}
}
/// <summary>
/// 这个函数轻易不要用,只在打印一些调试日志时用,效率较低
/// </summary>
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
}
}
}