public void Start()
        {
            // ObservableLogger.Listener.LogToUnityDebug()を呼び出すことで、
            // 発行されたログをUnityEditorのコンソールに出力してくれるようになる
            // なお複数回呼び出すとログが重複して出力されてしまう
            // 多重実行に注意
            UniRx.Diagnostics.ObservableLogger.Listener.LogToUnityDebug();

            // ObservableLogger.ListenerはIObservable<LogEntry>
            // これを購読することで発行されたログを購読できる
            UniRx.Diagnostics.ObservableLogger.Listener
            // ログレベルでフィルタリング
            .Where(x => x.LogType == LogType.Error || x.LogType == LogType.Exception)
            // 1フレームの間に発行されたログを集約する
            .BatchFrame()
            //発行されたログをファイルに書き出す
            .Subscribe(WriteAsync)
            .AddTo(this);

            // loggerを用いて任意のLogメッセージを発行可能
            // 発行したLogメッセージは ObservableLogger.Listener より購読可能
            _logger.Debug("Debugメッセージ");
            _logger.Error("エラーが発生しました");
            _logger.Exception(new Exception("例外が発生しました"));
        }
 public void Run()
 {
     // Debug is write only DebugBuild.
     logger.Debug("Debug Message");
     // or other logging methods
     logger.Log("Message");
     logger.Exception(new Exception("test exception"));
 }
Beispiel #3
0
    void Start()
    {
        ObservableLogger.Listener.LogToUnityDebug();

        ObservableLogger.Listener
        .Where(_ => _.LogType == LogType.Exception)
        .Subscribe(_ => print(_.Exception.Message));

        _logger.Debug("debug message");
        _logger.Log("log");
        _logger.Exception(new Exception("exception"));
    }