UE427_Logging

2023-10-29

UE427_Logging

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

UE_LOG宏会经常用到,方便地判断我们的代码何时能够起到作用。

#define UE_LOG(CategoryName, Verbosity, Format, ...)

它的前两个参数表示日志的类别名称(可以随意命名)以及日志的级别(ELogVerbosity枚举量),之后的参数类似于经典的printf(),但是最常用的参数类型只有%d(整数),%f(浮点数)和%s(字符串,并且一定是FString类型),我们需要执行必要的转换函数将char*转换到FString再输入到日志中。

namespace ELogVerbosity
{
	enum Type : uint8;
}
namespace ELogVerbosity
{
	enum Type : uint8
	{
		/** Not used */
		NoLogging		= 0,

		/** Always prints a fatal error to console (and log file) and crashes (even if logging is disabled) */
		Fatal,

		/** 
		 * Prints an error to console (and log file). 
		 * Commandlets and the editor collect and report errors. Error messages result in commandlet failure.
		 */
		Error,

		/** 
		 * Prints a warning to console (and log file).
		 * Commandlets and the editor collect and report warnings. Warnings can be treated as an error.
		 */
		Warning,

		/** Prints a message to console (and log file) */
		Display,

		/** Prints a message to a log file (does not print to console) */
		Log,

		/** 
		 * Prints a verbose message to a log file (if Verbose logging is enabled for the given category, 
		 * usually used for detailed logging) 
		 */
		Verbose,

		/** 
		 * Prints a verbose message to a log file (if VeryVerbose logging is enabled, 
		 * usually used for detailed logging that would otherwise spam output) 
		 */
		VeryVerbose,

		// Log masks and special Enum values

		All				= VeryVerbose,
		NumVerbosity,
		VerbosityMask	= 0xf,
		SetColor		= 0x40, // not actually a verbosity, used to set the color of an output device 
		BreakOnLog		= 0x80
	};
}
// Log格式:
	// 1. Log Message
	//"This is a message to yourself during runtime!"
	UE_LOG(YourLog,Warning,TEXT("This is a message to yourself during runtime!"));
	// 2. Log an FString
	// %s strings are wanted as TCHAR* by Log, so use *FString() %s字符串被日志需要作为TCHAR*,所以使用*FString()
	//"MyCharacter's Name is %s"
	UE_LOG(YourLog,Warning,TEXT("MyCharacter's Name is %s"), *MyCharacter->GetName() );
	// 3. Log an Int
	//"MyCharacter's Health is %d"
	UE_LOG(YourLog,Warning,TEXT("MyCharacter's Health is %d"), MyCharacter->Health );
	// 4. Log a Float
	//"MyCharacter's Health is %f"
	UE_LOG(YourLog,Warning,TEXT("MyCharacter's Health is %f"), MyCharacter->Health );
	// 5. Log an FVector
	//"MyCharacter's Location is %s"
	UE_LOG(YourLog,Warning,TEXT("MyCharacter's Location is %s"), 
	    *MyCharacter->GetActorLocation().ToString());
	// 6. Log an FName
	//"MyCharacter's FName is %s"
	UE_LOG(YourLog,Warning,TEXT("MyCharacter's FName is %s"), 
	    *MyCharacter->GetFName().ToString());
	// 7. Log an FString,Int,Float
	//"%s has health %d, which is %f percent of total health" %s的生命值%d,也就是总生命值的%f %
	UE_LOG(YourLog,Warning,TEXT("%s has health %d, which is %f percent of total health"),
	    *MyCharacter->GetName(), MyCharacter->Health, MyCharacter->HealthPercent);
	    
// Log的颜色设置:
// 第二个参数是是用来控制颜色的。
//"this is Grey Text"
UE_LOG(YourLog,Log,TEXT("This is grey text!"));
//"this is Yellow Text"
UE_LOG(YourLog,Warning,TEXT("This is yellow text!"));
//"This is Red Text"
UE_LOG(YourLog,Error,TEXT("This is red text!"));
文章参考:
Ue4的UE_LOG

https://www.cnblogs.com/blueroses/p/6037981.html
https://zhuanlan.zhihu.com/p/469324623

Logging

https://unrealcommunity.wiki/logging-lgpidy6i

官方说明(以上若不明请详看以下)

在这里插入图片描述
在这里插入图片描述

// Formatting Examples Quick Reference
// 1. Logging an FString
UE_LOG(LogTemp, Warning, TEXT("The Actor's name is %s"), *YourActor->GetName());
// 2. Logging a Bool
UE_LOG(LogTemp, Warning, TEXT("The boolean value is %s"), ( bYourBool ? TEXT("true") : TEXT("false") ));
// 3. Logging an Integer
UE_LOG(LogTemp, Warning, TEXT("The integer value is: %d"), YourInteger);
// 4. Logging a Float
UE_LOG(LogTemp, Warning, TEXT("The float value is: %f"), YourFloat);
// 5. Logging an FVector
UE_LOG(LogTemp, Warning, TEXT("The vector value is: %s"), *YourVector.ToString());
// 6. Logging with Multiple Specifiers
UE_LOG(LogTemp, Warning, TEXT("Current values are: vector %s, float %f, and integer %d"), *YourVector.ToString(), YourFloat, YourInteger);

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UE427_Logging 的相关文章

随机推荐

  • Android 内存泄漏的原因以及解决方案

    内存泄漏是什么 内存泄漏即 ML Memory Leak 指 程序在申请内存后 当该内存不需再使用 但 却无法被释放 归还给 程序的现象 内存泄漏的原因以及解决方案 内存泄漏的原因归根到底就是当需要被回收变量的内存被其他变量引用持有 导致内
  • 光照 (4) 镜面光贴图示例

    通过使用镜面光贴图我们可以可以对物体设置大量的细节 比如物体的哪些部分需要有闪闪发光的属性 我们甚至可以设置它们对应的强度 镜面光贴图能够在漫反射贴图之上给予我们更高一层的控制 step1 对镜面光贴图使用一个不同的纹理单元 见纹理 在渲染
  • 软考高级之系统架构师之项目管理

    今天是2023年09月06日 距离软考高级只有58天 加油 概念 临时性 是指每一个项目都有一个明确的开始时间和结束时间 临时性也指项目是一次性的 风险 风险具有以下特性 客观性 偶然性 相对性 社会性 不确定性 风险的四要素 事件 原因
  • 邮件服务器测试方法

    邮件服务器测试方法一 测试是在问题邮件服务器上完成的 二 登陆问题邮件服务器 使用nslookup命令查看需测试的邮件服务器域名解析记录 找到测试端的DNS可以解析到的MX记录 三 通过TELNET命令进行测试 一 TELNET需注意的事项
  • 什么是爬虫?爬虫的具体作用?

    什么是爬虫 答 爬虫的官方名字 spider 爬虫又被称之为网络蜘蛛 网络机器人等 就是模拟客户端发送网络请求 接收请求响应 按照一定的规则自动的抓取互联网信息的程序 爬虫的具体作用 答 数据采集 搜索引擎 软件测试 短信轰炸等等 一般是用
  • Web前端面试指导(三十八):js延迟加载的方式有哪些?

    题目点评 主要考察对程序的性能方面是否有研究 程序的性能是一个项目不断地追求的 通常也是项目完成后需要长期做的一件事情 像腾讯QQ依然对程序的性能不断地做优化 让用户的体验更好 性能优化的核心思想就是快 可以预先准备数据 如缓存的使用 可以
  • 使用C++ 编写嵌入式应用程序

    大多数嵌入式工程师使用C语言来编写Cortex M系列MCU 的程序 大家总觉得C 是用来编写Windows 或者Linux 应用程序的 特别是硬件工程师 也许压根就没有使用C 来编写程序 当我们阅读Mbed OS 的代码时却发现 许多是使
  • mysql--备份/主从同步/安装

    1 编写脚本 支持让用户自主选择 使用mysqldump还是xtraback全量备份 bin bash date date F sock S data mysql mysql3306 socket mysql sock dbdir back
  • vue iframe 刷新保留在原来的页面

    公司有个需求 我们的项目是微服务项目 每个tab里面的内容都是 iframe 现在需求是点击刷新 F5 等刷新 iframe 还保留在原来的页面 1 iframe 子页面 router js 中监听路由变化 并存储当前页面的路由 route
  • 【Linux】Ubuntu基本使用与配置, 以及常见问题汇总(一)

    前言 大学期间 感觉很多时候学习课外知识都是被推着往前走 很多内容并没有深入去学习 知识的记录受限于所学比较片面 如今渐渐意识到似乎并没有建立起相关知识的体系架构 缺乏一个系统学习并整理的过程 本文将以Ubuntu系统为例 来整理一些Lin
  • R手册(Common)--R语言入门

    说明 本节中大部分内容摘自书籍 R语言实战 第2版 文章目录 RStudio Take control of your R code 数据处理一般流程 R 数据结构 R 运算符 概率函数 控制语句与循环语句 自定义函数 调试 拟合线性模型f
  • weex stream 方法封装

    1 封装 api js 配置API接口地址 const baseUrl http www kuitao8 com 引入 弹窗组件 var modal weex requireModule modal 引入 请求数据组件 var stream
  • python记录鼠标键盘操作自动执行重复工作

    系列文章目录 文章目录 系列文章目录 前言 github项目原地址 一 执行方法 二 python录制 1 Frame1 py 2 KeymouseGo py 三 说明书 KeymouseGo v2 2 基本操作 提示 脚本格式说明 使用命
  • OpenCV2.4.13+VS2013开发环境配置

    转载自 http blog csdn net SherryD article details 51734334 List1 完成 写在前面 之前电脑很杂乱的装了OpenCV的2个版本 在配置OpenCV和VS2013环境时死活配不好 但是接
  • PS小技巧补充1

    在使用移动工具 已勾选自动选择 的时候 想要移动某个图层 可以点中图层 然后按下 Ctrl 键 可以看见左上角的自动选择已经被取消了 这时可以在画布的任意位置 移动该图层的内容 按住 Alt 键不放 滚动鼠标滚轮 可以实现快速的画布放大缩小
  • Metasploitable2靶机渗透笔记

    信息收集阶段 由于是Vmware中的靶机 所以不做真实IP 旁站 C段 WAF等信息的收集 端口收集 nmap sS sV 靶机IP 获得开放的服务信息 统计阶段 VSFTPD 2 3 4 笑脸漏洞 SSH登录爆破 Telnet爆破 htt
  • leetcode难题之Dungeon game

    一 题目简述 The demons had captured the princess P and imprisoned her in the bottom right corner of a dungeon The dungeon con
  • Matlab运行时出现“Out of Memory”问题,可能的解决办法总结

    1 在命令行中 不是在 M文件 输入 pack 命令 用以整理内存 由于MATLAB是将连续内存块分配给新建变量 当连续的内存块不足以存储数据时 系统就会报错 利用 包 命令可以将原来断断续续的内存整理成连续储存块 尽可能保证内存拥有足够的
  • 架构专家李伟山:电商系统之订单系统

    李伟山 读完需要 12分钟 速读仅需 4 分钟 李伟山 目前是一家人工智能公司的技术总监 主要负责 AI 产品化的工作 开发设计中国一款云同步社交平台 号簿管家 曾参与设计开发亿万级流量的阿里虚拟业务平台 话费充值 网游联运平台 标志着 i
  • UE427_Logging

    UE427 Logging UE LOG宏会经常用到 方便地判断我们的代码何时能够起到作用 define UE LOG CategoryName Verbosity Format 它的前两个参数表示日志的类别名称 可以随意命名 以及日志的级