zoukankan      html  css  js  c++  java
  • ue4 log

    在Unreal Engine 4中,打Log很方便,可以使用宏:

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

    但是使用之前需要先定义Log Category,Category会在Log中体现出来,以便在茫茫Log中更容易区分其作用或所属模块。

    如果想定义只在一个CPP文件中使用的Category,不希望被其他类使用,可以定义一个Static的Category:

    1. DEFINE_LOG_CATEGORY_STATIC(CategoryName,Log,All);  

    如果想定义一个‘Public’的Category,并且在全局生效,不管是static函数还是其他类都可以使用,就需要在头文件中声明一个Category,并在CPP中定义,每个用到的CPP文件都需要include该头文件:

    1. // in A.h  
    2. DECLARE_LOG_CATEGORY_EXTERN(CategoryName, Log, All) // 声明一个Category为extern,避免多个文件使用此头文件时重复声明  
    3.    
    4. // in A.cpp  
    5. #include "A.h"  
    6. DEFINE_LOG_CATEGORY(CategoryName) // 定义该Category,全局仅需一份  
    7.    
    8. // in B.cpp  
    9. #include "A.h" // 由于之前声明为extern,使用者引入头文件即可使用在A.cpp中的定义  

    如果想给某个定义一个专属的Category,可以使用:

    1. // in A.h  
    2. classA  
    3. {  
    4.     DECLARE_LOG_CATEGORY_CLASS(CategoryName,Log,All);  
    5. };  
    6.    
    7. // in A.cpp  
    8. DEFINE_LOG_CATEGORY_CLASS(A,CategoryName);  

    定义好Log Category之后就可以使用UE_LOG了,除了最前面例子中的用法,UE_LOG的用法和C中的printf类似,支持字符串Format,例如:

    1. UE_LOG(CategoryName,Warning,TEXT("MyCharacter's Health is %d"), MyCharacter->Health );  
    2. UE_LOG(CategoryName,Warning,TEXT("MyCharacter's Health is %f"), MyCharacter->Health );  
    3. UE_LOG(CategoryName,Warning,TEXT("MyCharacter's Name is %s"), *MyCharacter->GetName() ); 
  • 相关阅读:
    Hadoop TextInputFormat源码分析
    Hadoop集群(第6期)_WordCount运行详解
    spring boot之从零开始开发自己的网站
    transfer learning
    深度学习理论
    CNN卷积可视化与反卷积
    resnet
    NLP资料
    close Spark Streaming gratefully
    CUDA
  • 原文地址:https://www.cnblogs.com/nafio/p/9137071.html
Copyright © 2011-2022 走看看