作为一名程序猿,在日常开发中肯定少不了在代码中加入日志,日志能及时的反馈给我们代码运行时的数据和信息。在本篇文章中,就让我们来学习一下如何在 UE 中去输出日志。
在虚幻引擎中常用的打印日志方法有三种,分别是:UE_LOG, AddOnScreenDebugMessage,以及在蓝图中使用 Print String。
使用UE_LOG 打印日志可以控制打印的内容,如果每个日志按照自己的级别来分类显示,那开发者就可以迅速的查找到对应的日志内容。这些分类包括:
接下来,咱们来看如何来定义 UE_LOG。
在 .h 头文件中声明日志,声明日志类别宏有三个参数:
DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity);
例如:
DECLARE_LOG_CATEGORY_EXTERN(LoginLog, Log, All);
在 .cpp 中定义日志宏:
DEFINE_LOG_CATEGORY(LoginLog)
参考案例如下:
void AFPSGameModeLogic::PreLogin(const FString& Options, const FString& Address, const FUniqueNetIdRepl& UniqueId, FString& ErrorMessage)
{
Super::PreLogin(Options, Address, UniqueId, ErrorMessage);
if (!ErrorMessage.IsEmpty())
{
return;
}
if (!UniqueId.IsValid())
{
ErrorMessage = "You are logging in with empty account";
UE_LOG(LoginLog, Error, TEXT("PreLogin: logging in with empty account"));
}
....
}
除了使用 UE_LOG,咱还可以使用 AddOnScreenDebugMessage 方法在当前屏幕视口中去打印日志。
具体使用方法如下:
GEngine->AddOnScreenDebugMessage(-1, 10.0f, FColor::Red, FString::Printf(TEXT("Server not connected yet.")));
在蓝图中任意拖动到节点 PrintString 即可选择在屏幕或者日志输出栏中输出日志,只要勾选上就会执行对应的操作,非常的方便,具体节点内容如下:
本文简单的介绍了三种在 UE 开发中经常用到的日志调试方法,分别是 UE_LOG, AddOnScreenDebugMessage 和 Print String,你学会了吗?
本文分享自 HelloWorld杰少 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!