IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> UELOG虚幻4日志输出和自定义日志 -> 正文阅读

[游戏开发]UELOG虚幻4日志输出和自定义日志

UELOG虚幻4日志输出和自定义日志

内容:

  1. UE4的默认日志输出
  2. 自定义日志
  3. 简化自定义日志
  4. 格式化日志输出

具体来讲

1.UE4的默认日志输出

使用UE4自带的日志输出,如果只是想简单的实现日志输出就可以使用默认的日志输出。默认的日志输出使用如下:

UE_LOG(LogTemp, Log, TEXT("你的文本串"));
//3个参数 1.日志分类2.级别,3.输出内容 用TEXT构建的文本

讲一下前面3个参数:

  • 第一个参数: 表示日志分类 (这个是可以自定义的) 它决定了内容输入到控制台时的分类项
  • 第二个参数:日志类型 分为Fatal 、Error 、Warning、Display、Log 、Verbose 、VeryVerbose 其中Verbose的意思是冗余的,冗长的

其中前两个会让你的程序停止,Warning、Display、Log 这三个是较常用的日志分类项,在控制台日志输出里显示,最后两个类型是记录到日志文件里(日志文件在:工作目录–>save–>Log)

  • 第三个参数: 就是你的内容,但是需要用TEXT的文本宏

2.自定义日志

在开发项目的时候,日志级别和类型可能会多种多样,通过这些不同类型的日志和不同的日志级别我们能够很快地知道是哪里出了错,出错类型是什么。所以很有必要自定义日志类型。自定义日志类型的步骤分为2步:

  1. 找个地方声明日志: 声明日志的语法为:
    DECLARE_ LOG_CATEGORY EXTERN(CategoryName, DefaultVerbosity, Compile TimeVerbosity);
    当然里面需要填入参数,第一个参数就是自己的日志名称,第二个参数是级别,第三个参数是范围。 下面就是定义了一个日志输出
DECLARE_LOG_CATEGORY_EXTERN(UE4LOG, Log, All);

对应的第一个名称是
UE4LOG,第一个参数天填写的是Log,第三个填入的是All。 其中第一个很好理解,是日志分类名称,第二个是上面写的Fatal 、Error 、Warning、Display、Log 、Verbose、VeryVerbose中的一个,是日志分类,第三个是日志编译级别,自定义的时候填入All就行。

  1. 定义日志:使用DEFINE_LOG_CATEGORY来实现对已经写好的声明进行定义
//实现之定义日志级别
DEFINE_LOG_CATEGORY(UE4LOG);
//参数就填入声明的日志

[注意]自己写的神明和定义,在使用的时候一定要包含你写自定义日志的头文件

  1. 使用自定义日志:
    在需要使用自定义日志的地方填写即可。
    按照上面的自定义梳理一下:
			DECLARE_LOG_CATEGORY_EXTERN(UE4LOG, Log, All);//声明在头文件里
			DEFINE_LOG_CATEGORY(UE4LOG);//定义在cpp文件里
			UE_LOG(UE4LOG, Log, TEXT("HEllo"));//使用

结果如图所示:
自定义日志

3. 简化自定义日志

在上面的自定义日志UE4LOG可以被简化为下面的:

			//简化日志
			#define SimpleLog(x) UE_LOG(UE4LOG, Log, x);

			//更简化的日志
			#define SLOG(x) UE_LOG(UE4LOG, Log, TEXT(x));

其中在第一个简化日志里使用的话就只需要输入下面的代码即可

			SimpleLog(TEXT("SimpleLOG"));

但是为了不想输入TEXT()文本宏就可以继续简化,就是使用宏定义将参数放进去,就是上面的更简化的日志 #define SLOG(x) UE_LOG(UE4LOG, Log, TEXT(x));
[注意]这个简化是简化自己写的那个日志
使用的时候就使用

			SLOG("SLOG");//这样就可以了

结果图可以在最后面的图看到

4.格式化输出

格式化输出和c语言类似,填写占位符后填入具体值。
例如:

UE_LOG(LogTemp, Log, TEXT("今日天气:%s,温度:%.2f, 湿度:%.2f,"), TEXT("多云转晴"), 23.5f, 16.8f);

格式化出入日志

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-11-29 16:37:17  更:2021-11-29 16:37:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/16 8:16:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码