【Unity】打包运行后如何查看日志
在 Unity 中,打包后的应用程序(如 Windows、Android 或 macOS 应用)默认不会直接显示日志信息。为了查看打包后的日志,你需要根据目标平台使用不同的方法来捕获和查看日志。以下是常见平台的日志查看方法:
通过代码输出日志到文件
你可以编写代码将日志输出到自定义的文件中,方便查看:(本篇文章目前只写了windows的日志查看方法)
using System.IO;
using UnityEngine;
public class LogToFile : MonoBehaviour
{
private string logFilePath;
void Start()
{
logFilePath = Path.Combine(Application.persistentDataPath, "game_log.txt");
Application.logMessageReceived += LogMessage;
Debug.Log("日志系统已启动,日志将保存到: " + logFilePath);
}
void LogMessage(string condition, string stackTrace, LogType type)
{
string logEntry = $"[{System.DateTime.Now}] [{type}] {condition}\n{stackTrace}\n";
File.AppendAllText(logFilePath, logEntry);
}
void OnDestroy()
{
Application.logMessageReceived -= LogMessage;
}
}
日志文件将保存在 Application.persistentDataPath 目录下,路径可以通过 Debug.Log 打印出来。
Application.persistentDataPath在哪里?
Application.persistentDataPath 不是打包后的游戏目录,它是一个与平台相关的路径
在 Windows 系统中,Application.persistentDataPath 通常指向以下路径:
C:\Users\<用户名>\AppData\LocalLow\<公司名称>\<产品名称>\output_log.txt
对于Windows平台,日志文件通常位于C:\Users\用户名\AppData\LocalLow\DefaultCompany\自己的项目目录下。这里的DefaultCompany是Player Setting里设置的公司名称,自己的项目是项目的名称。日志文件可能命名为player.log或player_prev.log等。