• UE4_C++自定义log


    @

    欢迎

    Time: 2021年5月4日15:04:01
    Author: blackD
    Desc: UE4自定义log(输出log格式: 类名/函数名 + 行号 + 自定义输出log)


    1. 输出字符串到Output Log中

    1. DEFINE_LOG_CATEGORY(Log类别名称)
      • 实例
      FString filePath
      UE_LOG(LogTemp, Log, TEXT("%d, %s"), 100, *filePath);
      UE_LOG(LogTemp, Error, TEXT("Hello,World!"));
      

    2. 输出字符串到屏幕上

    • 实例
    FString filePath;
    GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Green,FString::Printf(TEXT("DLL_Init")));
    GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Green,FString::Printf(TEXT("%s"),*filePath));
    

    3. 自定义Log日志

    • 头文件定义
    .h文件
    DECLARE_LOG_CATEGORY_EXTERN(MyProjectLog, Log, All);
    
    • cpp文件定义
    .cpp文件
    DEFINE_LOG_CATEGORY(MyProjectLog);
    
    • 调用自定义Log
    需要打印日志的.cpp添加申明自定义日志的头文件
     
    FString filePath
    UE_LOG(MyProjectLog, Log, TEXT("%s"), *filePath);
    UE_LOG(MyProjectLog, Error, TEXT("Hello,World!"));
    

    3. 个人案例

    • 头文件定义
    #include "GameFramework/PlayerController.h"
    
    DECLARE_LOG_CATEGORY_EXTERN(LogMyController, Log, All)
    //#define LINE_LOG "[" + FDateTime::Now().ToString() + "," + FString(__FUNCTION__) + "," + FString::FromInt(__LINE__) + "], LogMsg: "//Log日志格式: 类名/函数名 + 行号 + msg
    #define LINE_LOG ("CTime: %s; CFunc: %s; CLineNum: %s; CLog: ", *FDateTime::Now().ToString(), *FString(__FUNCTION__), *FString::FromInt(__LINE__))//Log日志格式: 类名/函数名 + 行号 + msg
    
    #include "MyPlayerController.generated.h"
    
    • cpp文件定义
    #include "Runtime/Engine/Classes/Engine/StaticMeshActor.h"
    DEFINE_LOG_CATEGORY(LogMyController)
    #include "GenericPlatformFile.h"
    
    • 调用自定义Log
    void AMyPlayerController::BeginPlay()
    {
    	UE_LOG(LogMyController, Warning, TEXT("%s, Start"), LINE_LOG);
    
    	Super::BeginPlay();
    
    	UE_LOG(LogMyController, Warning, TEXT("%s, End"), LINE_LOG);
    }
    
  • 相关阅读:
    做SQL解析时遇到的问题
    SqlAnalyzer1.00源码
    用于测试SqlAnalyzer1.00的十七个测试用例
    XmlAnalyzer1.00 源码
    用于测试XmlAnalyzer 1.00版的八个测试用例
    JsonAnalyzer2 1.01版
    用于测试 JsonAnalyzer2 1.01版的测试用例
    按照BNF语法重新写就的JsonAnalyzer2
    递归向下解析算术表达式(四)
    允许Sublime编辑器在Ubuntu上输入中文
  • 原文地址:https://www.cnblogs.com/yblackd/p/14729613.html
Copyright © 2020-2023  润新知