声明:部分内容来自于b站,知乎,慕课,公开课等的课件,仅供学习使用。如有问题,请联系删除。
部分内容来自UE官方文档,博客等
虚幻日志系统
1. 日志是一种非常实用的调试工具,可以详细说明代码当前的执行逻辑。你可以检查函数之间传递的数据值,并报告潜在的问题。
请前往 窗口(Window) > 输出日志(Output Log) 查看虚幻编辑器中的日志。
日志保存在项目 Saved/Logs 目录的 .txt 文件中
2. UE_LOG
UE_LOG 是一个将格式化消息记录到日志文件中的宏。
UE_LOG(LogTemp, Warning, TEXT("Hello World"));
第一个输入参数 LogTemp 是提供给 DEFINE_LOG_CATEGORY 宏的类别名称。你可以在位于 CoreGlobals.h 的引擎中找到这些类别。要自行创建自定义日志记录类别,请参阅自行定义日志类别小节。
第二个输入参数 Warning 是一个日志详细级别,用于将警告打印到控制台和日志文件中。你可以设置不同的日志详细程度,调整日志的换行模式,或者设置日志的文本颜色。有关更多细节,请参阅日志详细级别小节。
第三个输入参数 Text 是C语言库函数printf样式中字符串文字的格式。
3. 日志详细级别
ELogVerbosity 是一个定义日志记录系统日志详细级别的枚举。它定义了额外的非日志详细级别,允许给定日志换行或设置日志文本的颜色。
枚举 | 说明 |
---|---|
致命(Fatal) | 始终将致命错误打印到控制台和日志文件,即使禁用日志记录,也会出现崩溃。 |
错误(Error) | 将错误打印到控制台和日志文件。Commandlet和编辑器会收集并报告错误。错误消息导致commandlet故障。 |
警告(Warning) | 将警告打印到控制台和日志文件。Commandlet和编辑器会收集并报告警告。 |
显示(Display) | 将消息打印到控制台和日志文件。 |
日志(Log) | 将消息打印到日志文件,但不打印到控制台。 |
冗长(Verbose) | 如果为给定类别启用了冗长日志记录,则将冗长消息打印到日志文件。 这通常用于详细日志记录。 |
极其冗长(VeryVerbose) | 将冗长消息打印到日志文件。如果启用了极其冗长日志记录,则这将用于详细日志记录,否则将产生垃圾信息输出。 |
4. 屏幕调试消息
屏幕调试消息 也能起到很好的信息传递作用。你可以使用以下代码添加屏幕调试消息:
if (GEngine)
{
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::White, TEXT("This is an Example on-screen debug message."));
}
第一个输入参数 key 会获取一个唯一的整型值,用于防止同一消息被多次添加。
第二个输入参数 TimeToDisplay 会获取一个浮点值,用于表示消息在显示多少秒后消失。
第三个输入参数 DisplayColor 用于指定文本显示的颜色。
第四个输入参数 DebugMessage 是要显示的消息。你可以像使用日志那样,在屏幕调试消息中使用格式说明符和变量。
参考资料
https://docs.unrealengine.com/latest/INT/