【UE数字孪生学习笔记】 虚幻日志系统

声明:部分内容来自于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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/701518.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

国内首家!悦数图数据库全项完成中国信通院图数据库性能测试

大数据时代,随着各种社交网络、系统推荐等业务需求的不断发展,数据间的依赖和复杂度的逐渐增加,传统关系型数据库对这些需求捉襟见肘,图数据库应运而生。图数据库在金融风控、知识图谱、关系分析等应用场景的关联查询上有着明显优…

自带红外码库可使用蓝牙小程序控制的离线语音万能红外遥控器

离线语音蓝牙红外模块简介 此蓝牙红外模块是一种低成本的离线语音单麦应用方案,主芯片是一颗专用于语音处理的人工智能芯片,可广泛应用于家电,家居,音箱,玩具,穿戴设备,汽车等产品领域&#xf…

餐饮行业可燃气体报警器计量校准,惠州博罗引领安全新趋势

在惠州博罗这片繁荣的土地上,餐饮行业作为城市经济的重要组成部分,其安全问题一直备受关注。 可燃气体报警器作为餐饮场所预防火灾和爆炸事故的关键设备,其准确性和可靠性至关重要。 在这篇文章中,佰德将通过实际案例和数据&…

基本元器件 - 光电耦合器

光耦是将发光二极管(LED)和光电探测器集成于一个封装中的器件。 光耦的作用 在光耦中,一次侧(LED 侧)和二次侧(受光器件侧)是电绝缘的。因此,即使一次侧和二次侧的电位(…

epy - 终端电子书阅读器(epub2、epub3、fb2、mobi)

文章目录 一、关于 epy二、安装epy manual 三、用法四、颜色配置文件五、使用Epy的阅读技巧六、配置文件七、网址支持八、使用鼠标九、文字转语音十、字典十一、Double Spread 一、关于 epy 终端 电子书(epub2、epub3、fb2、mobi)阅读器 github : http…

力扣每日一题 6/12 + 随机一题

博客主页:誓则盟约系列专栏:IT竞赛 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 2806.取整够买后的账户余额【简单】 题目: 一开始,你…

算法课程笔记——蓝桥第17次直播云课

算法课程笔记——蓝桥第17次直播云课 递归 改成signed,把所有int 改成longlong 100会越界

Linux - 信号阻塞 信号捕捉

Linux - 信号阻塞 & 信号捕捉 信号阻塞信号集操作信号集sigporcmasksigpendingsigaction 信号捕捉用户态与内核态信号捕捉的时机 在博客[Linux - 信号概念 & 信号产生]中,我讲解了信号的基本概念,以及信号是如何产生的,本博客将继续讲…

IPTV,OTT,DVB有线数字电视

当我们买了一台电视回家,满心欢喜的打开,准备收看最新节目的时候,却发现没办法看直播,这个时候去广电办理业务,IPTV,OTT,DTV有线数字电视等这种词语整的眼花缭乱,那么今天我们来解释…

计算机网络 期末复习(谢希仁版本)第4章

路由器:查找转发表,转发分组。 IP网的意义:当互联网上的主机进行通信时,就好像在一个网络上通信一样,看不见互连的各具体的网络异构细节。如果在这种覆盖全球的 IP 网的上层使用 TCP 协议,那么就…

【FreeRTOS】源码概述

FreeRTOS源码概述 参考《FreeRTOS入门与工程实践(基于DshanMCU-103)》里《第7章 FreeRTOS源码概述》 相关文章:http://t.csdnimg.cn/QK0aO 1 FreeRTOS目录结构 使用 STM32CubeMX 创建的 FreeRTOS 工程中, FreeRTOS 相关的源码如下: 主要设计两个目录 C…

【教程】从0开始搭建大语言模型:实现Attention机制

从0开始搭建大语言模型 从0开始搭建大语言模型:实现Attention机制建模长序列存在的问题使用attention机制获得数据间的依赖Self-attention介绍带有可训练权重的self-attention1.生成Q,K,V变量2.计算attention score3.attention weight的获得4…

PS2045L-ASEMI低Low VF肖特基PS2045L

编辑:ll PS2045L-ASEMI低Low VF肖特基PS2045L 型号:PS2045L 品牌:ASEMI 封装:TO-277 最大平均正向电流(IF):20A 最大循环峰值反向电压(VRRM):45V 最大…

Armbian OS(基于ubuntu24) 源码编译mysql 5.7

最近弄了个S905X3的盒子刷完Armbian OS (基于ubuntu24),开始折腾Arm64之旅。第一站就遇到了MySQL的问题,由于MySQL没有提供Arm64版本,又不想塞Docker镜像,因此选择源码来编译MySQL5.7。下面记录详细过程和遇…

马斯克的战略选择:特斯拉的H100显卡转移风波及其影响

引言 最近,一则关于马斯克将特斯拉的H100显卡转给他的新公司xAI的消息引发了广泛关注。这一决定不仅导致特斯拉股价下跌,还引发了关于马斯克战略决策的激烈讨论。本文将深入探讨这一事件的背景、过程及其对特斯拉和整个科技行业的影响。 背景与事件回顾…

8.transformers量化

Transformers 核心设计Auto Classes Transformers Auto Classes 设计:统一接口、自动检索 AutoClasses 旨在通过全局统一的接口 from_pretrained() ,实现基于名称(路径)自动检索预训练权重(模 型)、配置文件、词汇表等所有与模型相关的抽象。 灵活扩展的配置AutoConfig…

本地GPT-window平台 搭建ChatGLM3-6B

一 ChatGLM-6B 介绍 ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,新一代开源模型 ChatGLM3-6B 已发布,拥有10B以下最强的基础模型,支持工具调用(Function Call)、代码执行(Code Interpreter&…

【Python】成功解决ModuleNotFoundError: No module named ‘PyQt5‘

【Python】成功解决ModuleNotFoundError: No module named ‘PyQt5’ 下滑即可查看博客内容 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓 博主简介:985…

c语言回顾-函数递归

1.递归的介绍 1.1什么是递归 递归是指在一个函数的定义中调用自身的过程。简单来说,递归是一种通过重复调用自身来解决问题的方法。 递归包括两个关键要素:基本情况和递归情况。基本情况是指当问题达到某个特定条件时,不再需要递归调用&am…

SpringBoot整合SpringDataRedis

目录 1.导入Maven坐标 2.配置相关的数据源 3.编写配置类 4.通过RedisTemplate对象操作Redis SpringBoot整合Redis有很多种,这里使用的是Spring Data Redis。接下来就springboot整合springDataRedis步骤做一个详细介绍。 1.导入Maven坐标 首先,需要导…