139 lines
3.8 KiB
C#
139 lines
3.8 KiB
C#
/********************************************************************************
|
||
* 文件名: 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
|
||
}
|
||
}
|
||
} |