UE5/UE4 C++でコンソールにログを出力する(UE_LOG、Fatal、Error、Warning、Display、Log、Verbose、VeryVorbose)
結構使う割には忘れやすいのでメモです。
こちらを参考にさせていただきました。
・[UE4] UE_LOGについてあれこれ
https://historia.co.jp/archives/5532/
ログの出力には「UE_LOG」マクロを使います。
こんな感じで定義されているようです。
#define UE_LOG(CategoryName, Verbosity, Format, ...)
「CategoryName」についてはこちらの説明があります。
基本的には「LogTemp」を使うので大丈夫だと思います。CategoryName
その名のとおり、カテゴリ名です。
UE_LOGで出力されるログは、多くのカテゴリに分かれています。
エンジン側で用意されているものの他、自分でカテゴリを定義することも出来ます。(後述)
「Verbosity」についてはこちらの説明があります。
上記については表示を絞る時にも使われたり、内容の分類にも使えるのできっちり使ったほうが良さそうです。Google翻訳で直訳すると「冗長」という意味だそうです。
これは、ログの詳細度のようなものです。
通常使用するのは、下記の7段階になっており、後のものほど詳細なログという扱いになります。
Fatal … 致命的なエラー。こちらはassertと同様の扱いになります。プログラムにブレークがかかります。
Error … エラー。名前のとおりです。OutputLogウィンドウには赤色で表示されます。
Warning … 警告。これも名前のとおりです。OutputLogウィンドウには黄色で表示されます。
Display / Log / Verbose / VeryVorbose … ログ。後のものほど詳細なログとして扱います。
historia さんのサイトに書かれている
といった使い方が良いと思われます。普段、通常のプレイの邪魔にならない程度の情報は「Log」で、詳細な調査を行いたいとき用のログは「Verbose」、かなり本気のデバッグ時に細かく追跡するときは「VeryVerbose」といった使い方がよいのではないでしょうか。
実際の使い方としてはこんな感じですね。
UE_LOG(LogTemp, Log, TEXT("LogMessage"));
マクロの3つ目の引数が「Format」となっているため、「printf」のような使い方もできます。
UE_LOG(LogTemp, Log, TEXT("Value = %d"), 123456);
かなり使い勝手のいいログ出力機能なのでなるべくわかりやすいように使っていきたいですね。
| UE5 | 10:00 | comments:0 | trackbacks:0 | TOP↑