fc2ブログ

凛(kagring)のUE5/UE4とゲーム制作と雑記ブログ

2016 年から UE4 / 2021年から UE5 を触り始めました。勉強したもののメモ用ブログです。ゲーム制作に関するメモや雑記とか色々あります。C++ での Qt、Unity もほんの少しあります。

PREV | PAGE-SELECT | NEXT

≫ EDIT

UE5/UE4 C++でコンソールにログを出力する(UE_LOG、Fatal、Error、Warning、Display、Log、Verbose、VeryVorbose)

C++でコンソールにログを出力する方法です。
結構使う割には忘れやすいのでメモです。

こちらを参考にさせていただきました。

・[UE4] UE_LOGについてあれこれ
https://historia.co.jp/archives/5532/

ログの出力には「UE_LOG」マクロを使います。

こんな感じで定義されているようです。

#define UE_LOG(CategoryName, Verbosity, Format, ...)


「CategoryName」についてはこちらの説明があります。

CategoryName
その名のとおり、カテゴリ名です。
UE_LOGで出力されるログは、多くのカテゴリに分かれています。
エンジン側で用意されているものの他、自分でカテゴリを定義することも出来ます。(後述)

基本的には「LogTemp」を使うので大丈夫だと思います。

「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↑

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/742-99074155

TRACKBACK

PREV | PAGE-SELECT | NEXT