NoaConsoleLog
このクラスを介して、ConsoleLog機能が保持しているログを取得できます。
API一覧
Static Methods
| API | 説明 |
|---|---|
| Add(LogType, message, stackTrace) | ConsoleLogツールに出力するログを追加します。 stackTraceの指定がない場合、自動的にスタックトレースを取得します。 |
| Clear() | 保持しているログ情報を一括削除します。 |
| SetDownloadCallbacks(commonCallbacks, consoleLogCallbacks) | 独自のクラスを作成して引数にすることでダウンロード関連のイベントを設定します。 引数に関する詳しい内容はNoaDownloadCallbacksとNoaConsoleLogDownloadCallbacksを参照してください。 |
Static Properties
| API | 説明 |
|---|---|
| LogList | 保持しているログ情報の一覧を返します。 |
| OnError | エラー検出時に実行するイベントです。 |
| OnFilterErrorNotification | エラー検出時に通知を表示するかを判定するデリゲートです。trueを返すと通知を表示します。 具体的な使用方法はサンプルコードを参照してください。 |
| OnLogCopied | ログをクリップボードにコピーした時に実行するイベントです。 |
| OnLogSend | ログを送信する際に実行するイベントです。 ConsoleLogツールの[ |
サンプルコード
using System.Collections.Generic;
using System.Threading.Tasks;
using UnityEngine;
#if NOA_DEBUGGER
using NoaDebugger;
#endif
public class Example
{
void ExampleMethod()
{
#if NOA_DEBUGGER
// ConsoleLog機能が保持しているログ情報の一覧を取得
LinkedList<ConsoleLogEntry> consoleLogList = NoaConsoleLog.LogList;
// ConsoleLog機能にログを追加
NoaConsoleLog.Add(UnityEngine.LogType.Error, "log_message", "log_stacktrace");
// ConsoleLog機能にログを追加(スタックトレースを指定しない場合)
NoaConsoleLog.Add(UnityEngine.LogType.Error, "log_message");
// メインスレッド外からログを追加
Task.Run(() => NoaConsoleLog.Add(UnityEngine.LogType.Error, "log_message"));
// 独自に定義したクラスを利用してログをダウンロードする時に実行するイベントを設定
var downloader = new ExampleDownloader();
var consoleLogDownloader = new ExampleConsoleLogDownloader();
NoaConsoleLog.SetDownloadCallbacks(downloader, consoleLogDownloader);
// エラー検出時に実行するイベントを設定
NoaConsoleLog.OnError += (ConsoleLogEntry log) => Debug.Log("Error detected.");
// エラー検出時に通知を表示するかを判定するデリゲートを設定
NoaConsoleLog.OnFilterErrorNotification += (ConsoleLogEntry log) => log.LogString.StartsWith("Log to notify an error.");
// ログをクリップボードにコピーした時に実行するイベントを設定
NoaConsoleLog.OnLogCopied += (ConsoleLogEntry log, string clipboardText) => Debug.Log($"Log copied. Clipboard: {clipboardText}");
// ログを送信する際に実行するイベントを設定
NoaConsoleLog.OnLogSend += (List<ConsoleLogEntry> logList) => Debug.Log("Log sent.");
// ログを一括削除します
NoaConsoleLog.Clear();
#endif
}
}
