NOA DebuggerNOA Debugger
  • v1.7.0
  • v1.6.1
  • v1.5.0
  • v1.4.0
  • v1.3.0
  • v1.2.0
  • v1.1.1
  • v1.0.0
Demo
Contact
Buy
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • v1.7.0
  • v1.6.1
  • v1.5.0
  • v1.4.0
  • v1.3.0
  • v1.2.0
  • v1.1.1
  • v1.0.0
Demo
Contact
Buy
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • 日本語
  • English
  • NoaConsoleLogDownloadCallbacks

NoaConsoleLogDownloadCallbacks

ConsoleLogのダウンロードに関連するイベントを設定します。

NoaConsoleLogDownloadCallbacksを継承したクラスをNoaConsoleLogに引き渡すことで、ダウンロードに関連するイベントをカスタマイズできます。

オーバーライド可能な要素

Methods

メソッド名説明
OnBeforeConversion(logEntries)ダウンロード対象のデータを文字列に変換する前に実行するメソッドです。
引数と返り値はどちらもIReadOnlyList<ConsoleLogEntry>です。
値を編集して返した場合はNOA DebuggerのJSON変換処理に反映します。
OnBeforeDownload(info)NoaDownloadCallbacks.OnBeforeDownload(info)を参照してください。
OnAfterDownload(info, status)NoaDownloadCallbacks.OnAfterDownload(info, status)を参照してください。

Properties

プロパティ名説明
IsAllowBaseDownloadNoaDownloadCallbacks.IsAllowBaseDownloadを参照してください。

関連する型

INoaConsoleLogDownloadCallbacks

NoaConsoleLogDownloadCallbacks.OnBeforeConversionは、このインターフェースで定義しています。

カスタムクラスで複数のコールバックの定義を集約したい場合や、既存のカスタムクラスを継承しつつコールバック機能を追加したい場合は、NoaConsoleLogDownloadCallbacksクラスの代わりにこのインターフェースを利用することで実現できます。

サンプルコード

#if NOA_DEBUGGER
using NoaDebugger;
using System.Collections.Generic;
using UnityEngine;

// NOA DebuggerのConsoleLogダウンロード処理前後にイベントを実行する場合の例(クラス利用)
public class ExampleConsoleLogDownloader : NoaConsoleLogDownloadCallbacks
{
    public override IReadOnlyList<ConsoleLogEntry> OnBeforeConversion(IReadOnlyList<ConsoleLogEntry> logEntries)
    {
        Debug.Log($"Logs download. Count: {logEntries.Count}");

        // テスト用のログをダウンロード対象外にする例
        return logEntries.Where(entry => !entry.LogString.Contains("Test")).ToList();
    }

    // 継承元のNoaDownloadCallbacksのメソッドも使用可能
    public override NoaDownloadInfo OnBeforeDownload(NoaDownloadInfo info)
    {
        info.FileName = $"Sample-{info.FileName}";
        return info;
    }

    public override void OnAfterDownload(NoaDownloadInfo info, NoaDownloadStatus status)
    {
        Debug.Log($"Download finished with status: {status}");
    }
}

// 複数の機能で共通処理を実装したい場合の例(インターフェース利用)
public class ExampleCommonDownloader : INoaDownloadCallbacks
{
    // IsAllowBaseDownloadをtrueに設定することでNOA Debuggerのダウンロード処理を許可
    public bool IsAllowBaseDownload => true;

    public NoaDownloadInfo OnBeforeDownload(NoaDownloadInfo info)
    {
        Debug.Log($"Download file name: {info.FileName}");
        return info;
    }

    public void OnAfterDownload(NoaDownloadInfo info, NoaDownloadStatus status)
    {
        Debug.Log($"Download finished with status: {status}");
    }
}

public class ExampleDerivedConsoleLogDownloader : ExampleCommonDownloader, INoaConsoleLogDownloadCallbacks
{
    public IReadOnlyList<ConsoleLogEntry> OnBeforeConversion(IReadOnlyList<ConsoleLogEntry> logEntries)
    {
        Debug.Log($"Logs download. Count: {logEntries.Count}");
        return logEntries;
    }
}
#endif

リンク集

関連機能

  • ConsoleLogについて
  • データのダウンロードについて

使用クラス

  • NoaConsoleLog

派生元クラス

  • NoaDownloadCallbacks