//------------------------------------------------------------ // Game Framework // Copyright © 2013-2021 Jiang Yin. All rights reserved. // Homepage: https://gameframework.cn/ // Feedback: mailto:ellan@gameframework.cn //------------------------------------------------------------ using GameFramework; using System; using System.IO; using UnityEngine; namespace UnityGameFramework.Runtime { /// /// 默认游戏框架日志辅助器。 /// public class DefaultLogHelper : GameFrameworkLog.ILogHelper { private string logFilePath; public DefaultLogHelper() { string currentDate = DateTime.Now.ToString("yyyyMMdd"); logFilePath = Application.dataPath + "/Logs/" + currentDate + ".txt"; } /// /// 记录日志。 /// /// 日志等级。 /// 日志内容。 public void Log(GameFrameworkLogLevel level, object message) { switch (level) { case GameFrameworkLogLevel.Debug: Debug.Log(Utility.Text.Format("{0}", message.ToString())); break; case GameFrameworkLogLevel.Info: Debug.Log(message.ToString()); break; case GameFrameworkLogLevel.Warning: Debug.LogWarning(message.ToString()); break; case GameFrameworkLogLevel.Error: Debug.LogError(message.ToString()); break; default: throw new GameFrameworkException(message.ToString()); } // 写入日志文件 WriteToFile(message.ToString()); } private void WriteToFile(string logMessage) { try { // 如果日志文件不存在,则创建文件 if (!File.Exists(logFilePath)) { Directory.CreateDirectory(Path.GetDirectoryName(logFilePath)); File.Create(logFilePath).Close(); } // 追加日志信息到文件 using (StreamWriter writer = File.AppendText(logFilePath)) { writer.WriteLine(logMessage); } } catch (Exception ex) { Debug.LogError($"Failed to write log to file: {ex.Message}"); } } } }