Files
JJBB/Assets/Project/Script/Common/GameDefine/LogModule.cs
2024-08-23 15:49:34 +08:00

139 lines
3.8 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/********************************************************************************
* 文件名: 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
}
}
}