ue4中日志打印的方式有两种
一、在当前屏幕视口中打印
GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Blue, TEXT("Hello"));
需要引用头文件 #include "Engine.h"
第一个参数:-1表示无需更新或刷新此消息
第二个参数:表示在屏幕上持续的时间
第三个参数:表示颜色
第四个参数:表示输出的信息
二、在编辑器output log窗口中输出
方式1:GLog->Log("Do Something1");
方式2:UE_LOG(LogTemp)
UE_LOG(LogTemp, Log, TEXT("Do Something2"));
UE_LOG(LogTemp, Warning, TEXT("%d"), 666);
UE_LOG(LogTemp, Error, TEXT("Do Something3"));
方式3:自定义log
.h文件加入
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "OutPutLogTest.generated.h"
DECLARE_LOG_CATEGORY_EXTERN(YourLog, Log, All);
.cpp文件加入
#include "OutPutLogTest.h"
#include "Engine.h"
DEFINE_LOG_CATEGORY(YourLog);
UE_LOG(YourLog, Warning, TEXT("Do Something4"));
或者
.h文件
#pragma once
#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "Engine/DataTable.h"
#include "LoadDataTable.generated.h"
DECLARE_LOG_CATEGORY_EXTERN(DemoLog, Log, All);
#define LogDebug(format, ...) UE_LOG(DemoLog, Log, TEXT(format), ##__VA_ARGS__)
#define LogWarning(format, ...) UE_LOG(DemoLog, Warning, TEXT(format), ##__VA_ARGS__)
#define LogError(format, ...) UE_LOG(DemoLog, Error, TEXT(format), ##__VA_ARGS__)
#define LogFatal(format, ...) UE_LOG(DemoLog, Fatal, TEXT(format), ##__VA_ARGS__)
.cpp文件
LogDebug("read by row name --- RowName:%s, ID:%d, Name:%s, Age:%d", *(name.ToString()), pRow->ID, *pRow->Name, pRow->Age);