NoaSnapshot
このクラスを介して、Snapshot機能が保持しているログを取得やログのキャプチャ、ログの一括削除と経過時間リセットなどの制御をスクリプトから実行できます。
API一覧
Static Methods
API | 説明 |
---|---|
ClearLogsAndTimer() | ログを一括削除し経過時間をリセットします。 |
CaptureLog(label, backgroundColor, hasNoaProfilerInfo, additionalInfo) | ログをキャプチャします。 ログに設定するラベルや背景色、NOA Debuggerが提供しているプロファイラ情報保持の有無、追加情報をパラメータとして指定します。 |
Static Properties
API | 説明 |
---|---|
LogList | 保持しているログ情報の一覧を返します。 |
OnLogCopied | ログをクリップボードにコピーした時に実行するイベントです。 |
OnLogDownload | ログをダウンロードする時に実行するイベントです。 イベントハンドラが true を返すとダウンロードを許可し、false を返すとダウンロードを拒否します。 |
サンプルコード
using System.Collections.Generic;
using UnityEngine;
#if NOA_DEBUGGER
using NoaDebugger;
#endif
public class Example
{
void ExampleMethod()
{
#if NOA_DEBUGGER
// Snapshot機能が保持しているログ情報の一覧を取得
List<SnapshotLogRecordInformation> snapshotLogList = NoaSnapshot.LogList;
// ログの一括削除と経過時間をリセット
NoaSnapshot.ClearLogsAndTimer();
// ログをキャプチャ
NoaSnapshot.CaptureLog("label", NoaSnapshot.BgColor.Blue, hasNoaProfilerInfo: true);
// 追加情報のDictionary作成
var additionalInfo = new Dictionary<string,NoaSnapshotCategory>();
// カテゴリを指定しないで追加情報を設定
var category = new NoaSnapshotCategory();
// カテゴリ毎の要素1
var categoryItem1 = new NoaSnapshotCategoryItem
(
key: "SampleKey",
value: "SampleValue",
color: NoaSnapshot.FontColor.Black
);
category.Add(categoryItem1);
// カテゴリ毎の要素2
var categoryItem2 = new NoaSnapshotCategoryItem
(
key: "SampleKey",
value: "SampleValue2",
color: NoaSnapshot.FontColor.Black
);
// キー重複時は値と色を上書き
category.Add(categoryItem2);
// キーの指定がない場合は、Othersの項目として管理します
additionalInfo[""] = category;
// カテゴリを指定して追加情報を設定
// カテゴリ1の追加情報
var category1 = new NoaSnapshotCategory();
var category1Item = new NoaSnapshotCategoryItem
(
key: "SampleKey",
value: "SampleValue",
color: NoaSnapshot.FontColor.Black
);
category1.Add(category1Item);
additionalInfo["Category1"] = category1;
// 追加情報を含めてログをキャプチャ
NoaSnapshot.CaptureLog("label", NoaSnapshot.BgColor.Blue, hasNoaProfilerInfo: true, additionalInfo);
// ログをクリップボードにコピーした時に実行するイベントを設定
NoaSnapshot.OnLogCopied += (SnapshotLogRecordInformation log, string clipboardText) => Debug.Log($"Log copied. Clipboard: {clipboardText}");
// ログをダウンロードする時に実行するイベントを設定
NoaSnapshot.OnLogDownload += (string filename, string jsonData) =>
{
Debug.Log($"Logs download. Filename: {filename}");
// ローカルにダウンロードを許可する場合はtrueを返す
// ローカルにダウンロードを拒否する場合はfalseを返す
return true;
};
#endif
}
}