UE4のshippingビルドでログを出す
UE4のshippingビルドでログを出す方法をメモしておきます。
UE4.26.2で確認しています。
ログを出す方法
- Engineをソースコードビルドしてプロジェクトに適用する
- [プロジェクト名].Target.csに以下を追加する
if (Configuration == UnrealTargetConfiguration.Shipping)
{
BuildEnvironment = TargetBuildEnvironment.Unique;
bUseLoggingInShipping = true;
}
- ビルドしたexeを実行するときに-logオプションをつける
- => コマンドプロンプトが新たに起動してログが出力される
参照サイト
if (Configuration == UnrealTargetConfiguration.Shipping)
{
BuildEnvironment = TargetBuildEnvironment.Unique;
bUseLoggingInShipping = true;
}
- => コマンドプロンプトが新たに起動してログが出力される
ue4 shipping (exe version) output log log - Programmer Soughtなど
ログをファイルに出力する方法
以下のようなオプションをつけてビルドしたexeを実行する
LOG=[出力したいログファイル名]
ログは以下のようなフォルダに出力される
C:\Users\[ユーザ名]\AppData\Local\[プロジェクト名]\Saved\Logs
参照サイト
コマンドライン引数 | Unreal Engine ドキュメント
BlueprintのPrintStringの内容をログに出す方法
そのままではBlueprintのPrintStringの内容がログには出てこない
出力するためには以下のようにEngine側のコードを変更してビルドする必要がある
※ #if、#endifをコメントアウトするとビルドでエラーになったのでこの修正方法にした
void UKismetSystemLibrary::PrintString(const UObject* WorldContextObject, const FString& InString, bool bPrintToScreen, bool bPrintToLog, FLinearColor TextColor, float Duration)
{
#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST) // Do not Print in Shipping or Test
...
#else // <= ====== 追加 ======
UE_LOG(LogBlueprintUserMessages, Log, TEXT("%s"), *InString); // <= ====== 追加 ======
#endif
参照サイト
Author And Source
この問題について(UE4のshippingビルドでログを出す), 我々は、より多くの情報をここで見つけました https://qiita.com/mechamogera/items/7f625608293b399b803b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .