unity Debug.Log写入文件
时间: 2023-09-20 22:14:07 浏览: 63
要将Unity的Debug.Log写入文件,您可以使用以下代码:
```csharp
using System.IO;
using UnityEngine;
public class LogToFile : MonoBehaviour
{
private string logFilePath;
void Start()
{
//获取应用程序数据路径
string dataPath = Application.dataPath;
//设置日志文件路径
logFilePath = dataPath + "/log.txt";
//删除旧的日志文件
if (File.Exists(logFilePath))
{
File.Delete(logFilePath);
}
//将Debug日志重定向到文件
Application.logMessageReceived += LogToFileCallback;
}
void OnDestroy()
{
//取消Debug日志重定向到文件
Application.logMessageReceived -= LogToFileCallback;
}
void LogToFileCallback(string logMessage, string stackTrace, LogType type)
{
//将日志写入文件
using (StreamWriter writer = new StreamWriter(logFilePath, true))
{
writer.WriteLine("[" + type + "] " + logMessage);
if (type == LogType.Error || type == LogType.Exception)
{
writer.WriteLine(stackTrace);
}
}
}
}
```
这将创建一个名为“log.txt”的文件,并将Unity的Debug.Log消息写入该文件中。如果发生错误或异常,将在消息后面写入堆栈跟踪。请注意,这将只捕获在启动脚本后发生的消息,而不会捕获场景中的消息。