using MVR.FileManagementSecure; using System; using System.Text; using UnityEngine; namespace TBD { public class LogToFile : MVRScript { private readonly StringBuilder _messages = new StringBuilder(); public override void Init() { if (!FileManagerSecure.DirectoryExists("Saves/PluginData/TBD/LogToFile")) FileManagerSecure.CreateDirectory("Saves/PluginData/TBD/LogToFile"); Application.logMessageReceived += HandleApplicationLogMessageReceived; } private void HandleApplicationLogMessageReceived(string message, string stackTrace, LogType type) { if (!enabled || !enabledJSON.val) return; _messages.AppendLine($"{DateTime.Now.ToLongTimeString()} [{type}] {message}"); if (!string.IsNullOrEmpty(stackTrace)) _messages.AppendLine(stackTrace); FileManagerSecure.WriteAllText("Saves/PluginData/TBD/LogToFile/debug.log", _messages.ToString()); } public void OnDestroy() { Application.logMessageReceived -= HandleApplicationLogMessageReceived; } } }