行数リミッターのあるLogWriter
public class LogWriter : MonoBehaviour { public string fileName; public int limit = 2000; StreamWriter logFileWriter; void Start() { Application.logMessageReceivedThreaded += logMessageReceived; var filepath = Path.Combine(Application.persistentDataPath, fileName); if (File.Exists(filepath)) { string[] lines = File.ReadAllLines(filepath); if (lines.Length > limit) { File.Delete(filepath); } } logFileWriter = new StreamWriter(filepath, true); } private void logMessageReceived(string condition, string stackTrace, LogType type) { logFileWriter.WriteLine(DateTime.Now.ToString("yyyyMMddHHmmss") + " :" + type.ToString() + " : " + condition); logFileWriter.WriteLine("================================"); } }
HoloLens2とiPadで動作確認しました。アプリ閉じた後に書き込まれる感じ。
無制限にデバイス内のログファイルに追記追記追記とやってるといつか破綻をきたしそうなので。 persistentDataPathにファイルを格納するかどうか、というのは要検討のようです。