美文网首页
UE_LOG详解

UE_LOG详解

作者: SilenceTT | 来源:发表于2022-02-11 11:54 被阅读0次

游戏模式:

在游戏模式下,你需要在游戏的快捷方式后面加 -Log,才会在游戏中显示。

编辑器模式(Play In Editor):

你可以在Output窗口中看到log信息。

如果想在游戏中看到,需要到Engin.ini中修改参数添加"GameCommandLine=-log,如果没有,则需要按~,输入-Log命令开启。

快速使用:

UE_LOG(LogTemp, Warning, TEXT("Your message"));

设置拥有自己标签的Log:

在你的游戏头文件中加入:

//General Log
DECLARE_LOG_CATEGORY_EXTERN(YourLog, Log, All);
 
//Logging during game startup
DECLARE_LOG_CATEGORY_EXTERN(YourInit, Log, All);
 
//Logging for your AI system
DECLARE_LOG_CATEGORY_EXTERN(YourAI, Log, All);
 
//Logging for Critical Errors that must always be addressed
DECLARE_LOG_CATEGORY_EXTERN(YourCriticalErrors, Log, All);

这样输出的Log你就可以知道是哪个部分的,这也是UE_Log很有用的原因。
在你的游戏Cpp文件中:

//General Log
DEFINE_LOG_CATEGORY(YourLog);
 
//Logging during game startup
DEFINE_LOG_CATEGORY(YourInit);
 
//Logging for your AI system
DEFINE_LOG_CATEGORY(YourAI);
 
//Logging for Critical Errors that must always be addressed
DEFINE_LOG_CATEGORY(YourCriticalErrors);

Log格式:

Log Message

//"This is a message to yourself during runtime!"
UE_LOG(YourLog,Warning,TEXT("This is a message to yourself during runtime!"));

Log an FString

 %s strings are wanted as TCHAR* by Log, so use *FString()
//"MyCharacter's Name is %s"
UE_LOG(YourLog,Warning,TEXT("MyCharacter's Name is %s"), *MyCharacter->GetName() );

Log an Int

//"MyCharacter's Health is %d"
UE_LOG(YourLog,Warning,TEXT("MyCharacter's Health is %d"), MyCharacter->Health );

Log a Float

//"MyCharacter's Health is %f"
UE_LOG(YourLog,Warning,TEXT("MyCharacter's Health is %f"), MyCharacter->Health );

Log an FVector

//"MyCharacter's Location is %s"
UE_LOG(YourLog,Warning,TEXT("MyCharacter's Location is %s"), 
    *MyCharacter->GetActorLocation().ToString());

Log an FName

//"MyCharacter's FName is %s"
UE_LOG(YourLog,Warning,TEXT("MyCharacter's FName is %s"), 
    *MyCharacter->GetFName().ToString());

Log an FString,Int,Float

//"%s has health %d, which is %f percent of total health"
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!"));

可以看得出第二个参数是是用来控制颜色的。

传递客户端信息(网络模式):

PlayerController->ClientMessage("Your Message");

命令行命令以及Engine.ini配置:

Log conventions (in the console, ini files, or environment variables)

[cat] = a category for the command to operate on, or 'global' for all categories.
标签,没有设置就显示所有的Log
[level] = verbosity level, one of: none, error, warning, display, log, verbose, all, default
关卡,显示某某关卡的Log

Log console command usage

Log list - list all log categories
Log list [string] - list all log categories containing a substring
Log reset - reset all log categories to their boot-time default Log [cat] - toggle the display of the category [cat]
Log [cat] off - disable display of the category [cat]
Log [cat] on - resume display of the category [cat]
Log [cat] [level] - set the verbosity level of the category [cat]
Log [cat] break - toggle the debug break on display of the category 

Log command line

-LogCmds=\"[arguments],[arguments]...\"           - applies a list of console commands at boot time
-LogCmds=\"foo verbose, bar off\"         - turns on the foo category and turns off the bar category

Environment variables

Any command line option can be set via the environment variable UE-CmdLineArgs

set UE-CmdLineArgs=\"-LogCmds=foo verbose breakon, bar off\"

Config file

In DefaultEngine.ini or Engine.ini:

[Core.Log] 
global=[default verbosity for things not listed later]
[cat]=[level]
foo=verbose break</pre>

后面的一篇文章提供了显示代码行号、函数名称、类名等功能:
https://wiki.unrealengine.com/Logs,_Printing_the_Class_Name,_Function_Name,_Line_Number_of_your_Calling_Code!

转载自Ue4的UE_LOG - 湛蓝玫瑰 - 博客园 (cnblogs.com)

相关文章

  • UE_LOG详解

    游戏模式: 在游戏模式下,你需要在游戏的快捷方式后面加 -Log,才会在游戏中显示。 编辑器模式(Play In ...

  • 2022-06-25【UE】Log

    UE_LOG of Ue4 - Katastros[https://blog.katastros.com/a?ID...

  • Unreal Engine 小技巧

    1.调试日志UE_LOG和打印输出GEngine->AddOnScreenDebugMessage 蓝图里的Pri...

  • Unreal 日志系统

    1. 在Editor的【输出日志】窗口输出日志 UE_LOG(日志种类Category, 日志级别Verbosi...

  • UE_LOG重新补充

    在.h文件声明DECLARE_LOG_CATEGORY_EXTERN(MyLog, Log, All);在.cpp...

  • Mysql性能调优

    SQL执行原理详解 连接器详解 分析器详解 优化器详解 执行器详解 Innodb的Buffer Pool机制详解 ...

  • C/C++的30个冷知识

    数据格式详解 输入输出函数详解 字符串处理函数详解 内存函数详解 类详解 数据格式详解 2^8=256(同样是一个...

  • TSNE 详解

    TSNE 详解 TSNE 详解

  • SwiftSyntax 详解

    SwiftSyntax 详解SwiftSyntax 详解

  • 深入理解相机五(硬件抽象层HAL)

    一、Android 基础学习 Activity 使用详解 Service 使用详解 Broadcast 使用详解 ...

网友评论

      本文标题:UE_LOG详解

      本文链接:https://www.haomeiwen.com/subject/impakrtx.html