using UnityEngine; private void Awake() { Application.RegisterLogCallback(HandleLog); } private void HandleLog(string condition, string stackTrace, LogType type) { }
Application.RegisterLogCallbackを使用すると
Debug.Logで出力されたログの情報を取得できます
しかし、Application.RegisterLogCallbackでは
1つしかコールバック関数を登録できないので
複数のソースからコールバック関数を登録したい場合は
下記のようなクラスを作る必要があります
/// <summary> /// Application.RegisterLogCallback に複数のコールバックを登録できるようにするクラス /// </summary> public static class LogCallbackRegister { public static event Application.LogCallback LogCallback = delegate { }; // ログが出力された時に呼び出されます /// <summary> /// コールバックを登録するコンストラクタ /// </summary> static LogCallbackRegister() { Application.RegisterLogCallback(HandleLog); } /// <summary> /// ログが出力された時に呼び出されます /// </summary> private static void HandleLog(string condition, string stackTrace, LogType type) { LogCallback(condition, stackTrace, type); } }
LogCallbackRegister.LogCallback += (condition, stackTrace, type) => { };