/// <summary>
/// 将日志写入到文件中
/// </summary>
/// <param name="message"></param>
/// <param name="EnableStack"></param>
private static void LogToFile(string message, bool EnableStack = false)
{
if (!EnableSave)
{
return;
}
if (LogFileWriter == null)
{
LogFileName = DateTime.Now.GetDateTimeFormats('s')[0].ToString();
LogFileName = LogFileName.Replace("-", "_");
LogFileName = LogFileName.Replace(":", "_");
LogFileName = LogFileName.Replace(" ", "");
LogFileName = LogFileName + ".log";
if (string.IsNullOrEmpty(LogFileDir))
{
try
{
#if UNITY_EDITOR
if (!Directory.Exists("d:/UnityLog"))
{
Directory.CreateDirectory("d:/UnityLog");
}
LogFileDir = "d:/UnityLog/";
#else
if ((Application.platform == RuntimePlatform.Android) || (Application.platform == RuntimePlatform.IPhonePlayer))
{
LogFileDir = Application.persistentDataPath + "/DebuggerLog/";
}
#endif
}
catch (Exception exception)
{
Debug.Log(Prefix + "获取 Application.persistentDataPath 报错!" + exception.Message, null);
return;
}
}
string path = LogFileDir + LogFileName;
try
{
if (!Directory.Exists(LogFileDir))
{
Directory.CreateDirectory(LogFileDir);
}
LogFileWriter = File.AppendText(path);
LogFileWriter.AutoFlush = true;
}
catch (Exception exception2)
{
LogFileWriter = null;
Debug.Log("LogToCache() " + exception2.Message + exception2.StackTrace, null);
return;
}
}
if (LogFileWriter != null)
{
try
{
if (FirstLogTag)
{
FirstLogTag = false;
PhoneSystemInfo(LogFileWriter);
}
LogFileWriter.WriteLine(message);
if (EnableStack)
{
LogFileWriter.WriteLine(StackTraceUtility.ExtractStackTrace());
}
}
catch (Exception)
{
}
}
}