【Unity】打包运行后如何查看日志

发布于:2025-02-16 ⋅ 阅读:(200) ⋅ 点赞:(0)

在 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等。


网站公告

今日签到

点亮在社区的每一天
去签到