「Unity/sentry」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→色々なログ) |
(→色々なログ) |
||
行51: | 行51: | ||
at ExceptionScene.Start () [0x0000a] in HogeProjectAssets/Scripts/ExceptionScene.cs:15 | at ExceptionScene.Start () [0x0000a] in HogeProjectAssets/Scripts/ExceptionScene.cs:15 | ||
</pre> | </pre> | ||
+ | 3. async内でexceptionを出す場合 | ||
+ | <pre> | ||
+ | |||
+ | void Start() | ||
+ | { | ||
+ | try | ||
+ | { | ||
+ | Exec(); | ||
+ | } | ||
+ | catch (Exception e) | ||
+ | { | ||
+ | Debug.LogError(e.Message + ":" + e.StackTrace); | ||
+ | } | ||
+ | } | ||
+ | async void Exec() | ||
+ | { | ||
+ | var result = await ExecUniTask(); | ||
+ | Debug.Log("Exec " + result); | ||
+ | } | ||
+ | async UniTask<float> ExecUniTask() | ||
+ | { | ||
+ | throw new Exception("例外エラー1"); | ||
+ | return 100f; | ||
+ | } | ||
+ | </pre> | ||
+ | ログ | ||
+ | <pre> | ||
+ | /System/Volumes/Data/d/www/unity/test/UniTaskProject/Assets/Scripts/ExceptionScene.cs in ExecUniTask at line 32:9 | ||
+ | In App | ||
+ | … st/UniTaskProject/Library/PackageCache/com.cysharp.unitask@b992a061fb/Runtime/UniTask.Factory.cs in GetResult at line 255:17 | ||
+ | In App | ||
+ | /System/Volumes/Data/d/www/unity/test/UniTaskProject/Assets/Scripts/ExceptionScene.cs in Exec at line 26:9 | ||
+ | In App | ||
+ | </pre> | ||
+ | ExceptionがStart側まで戻れず、try-catchができず、アプリに対して、Exceptionをthrowしてしまう。 |
2023年8月11日 (金) 01:36時点における版
Sentryとは
バグのエラーログなどをクラウド上で確認できるサービス
インストール
PackageManagerのgit urlから以下を設定
https://github.com/getsentry/unity.git#1.5.0
sentryのweb管理画面に表示されてるDNSのURLを、Unityメインメニュー/tools/sentryに入れる。
プラン
無料
- トラッキング件数/月:5000件
- ユーザー数:1人
- ログ保持期間:30日間
チーム(26$/月)
- トラッキング件数/月:10万件
- ユーザー数:無制限
- ログ保持期間:90日間
ビジネス(80$/月)
- トラッキング件数/月:10万件
- ユーザー数:無制限
- ログ保持期間:90日間
色々なログ
1. Exceptionをそのままthrow
ログ
Stack Trace System.Exception 例外エラー1 HogeProject/Assets/Scripts/ExceptionScene.cs in Exec at line 26:9 In App HogeProject/Assets/Scripts/ExceptionScene.cs in Start at line 15:13
2. Exceptionをtry-catchで取得したとき
try { Exec(); } catch (Exception e) { Debug.LogError(e.Message + ":" + e.StackTrace); }
ログ
例外エラー1: at ExceptionScene.Exec () [0x00000] in HogeProject/Assets/Scripts/ExceptionScene.cs:26 at ExceptionScene.Start () [0x0000a] in HogeProjectAssets/Scripts/ExceptionScene.cs:15
3. async内でexceptionを出す場合
void Start() { try { Exec(); } catch (Exception e) { Debug.LogError(e.Message + ":" + e.StackTrace); } } async void Exec() { var result = await ExecUniTask(); Debug.Log("Exec " + result); } async UniTask<float> ExecUniTask() { throw new Exception("例外エラー1"); return 100f; }
ログ
/System/Volumes/Data/d/www/unity/test/UniTaskProject/Assets/Scripts/ExceptionScene.cs in ExecUniTask at line 32:9 In App … st/UniTaskProject/Library/PackageCache/com.cysharp.unitask@b992a061fb/Runtime/UniTask.Factory.cs in GetResult at line 255:17 In App /System/Volumes/Data/d/www/unity/test/UniTaskProject/Assets/Scripts/ExceptionScene.cs in Exec at line 26:9 In App
ExceptionがStart側まで戻れず、try-catchができず、アプリに対して、Exceptionをthrowしてしまう。