Unreal Engine UE_LOG

Unreal

  • 🎮 Unreal Engine - UE_LOG
    • 📝 定義
    • 🏛 類/宏關聯
    • ? 關鍵特性
    • 🛠? 常見配置
    • 📚 使用方法
      • 🔧 基礎語法
      • 🔍 示例
    • 🪂 典型應用場景
    • 🔗 與其他組件對比
    • ?? 常見問題與注意事項
    • 🏷 小結

🎮 Unreal Engine - UE_LOG


📝 定義

UE_LOG 是 Unreal Engine 中用于輸出日志信息的核心宏,用于在開發過程中調試程序、記錄運行狀態、追蹤錯誤等。它支持將信息輸出到控制臺、日志文件(如 Saved/Logs 目錄下的日志文件)以及調試器(如 Visual Studio 的輸出窗口),并可通過日志級別和日志類別進行過濾管理。


🏛 類/宏關聯

UE_LOG 本身是一個宏定義,其實現依賴于 Unreal Engine 的日志系統框架,核心關聯組件包括:

  • FLogCategoryBase:日志類別基類,所有自定義日志類別均繼承自此
  • ELogVerbosity:日志級別枚舉(如 FatalErrorWarning 等)
  • FOutputDevice:日志輸出設備基類,負責將日志信息發送到控制臺、文件等目標

? 關鍵特性

  • 分級日志:通過日志級別(FatalErrorWarningDisplayLogVerboseVeryVerbose)控制信息詳細程度,便于過濾無關內容
  • 類別管理:支持自定義日志類別(如 LogMyGame),可單獨開啟/關閉某類日志
  • 跨平臺兼容:在 Windows、Mac、Linux 等平臺均能穩定輸出日志
  • 格式化輸出:支持類似 C++ printf 的格式化語法(如 %s%d%f),可輸出變量值、對象信息等
  • 調試集成:日志信息可直接顯示在編輯器控制臺和調試器,便于實時追蹤程序流程

🛠? 常見配置

  • 日志級別設置
    • DefaultEngine.ini 中配置全局或類別日志級別,例如:

      [Core.Log]
      LogMyGame=Verbose  ; 自定義類別 LogMyGame 輸出 Verbose 及以上級別日志
      LogTemp=Warning    ; 臨時類別 LogTemp 僅輸出 Warning 及以上級別日志
    • 通過命令行參數覆蓋配置:LogCmds="LogMyGame=VeryVerbose"

  • 日志文件路徑:默認存儲在項目目錄 Saved/Logs/[項目名].log,可通過引擎配置自定義路徑

📚 使用方法

🔧 基礎語法

UE_LOG(LogCategory, LogVerbosity, FormatString, Parameters...)
  • LogCategory:日志類別(如 LogTemp 臨時類別,或自定義類別)
  • LogVerbosity:日志級別(如 ErrorWarning
  • FormatString:格式化字符串
  • Parameters:對應格式化字符串的參數

🔍 示例

  1. 使用臨時日志類別

    UE_LOG(LogTemp, Warning, TEXT("Player health: %d"), CurrentHealth);
  2. 自定義日志類別

    • 先在頭文件中聲明:

      DECLARE_LOG_CATEGORY_EXTERN(LogSpaceShooter, Log, All);
    • 在源文件中定義:

      DEFINE_LOG_CATEGORY(LogSpaceShooter);
    • 使用:

      UE_LOG(LogSpaceShooter, Display, TEXT("Enemy spawned at: %s"), *SpawnLocation.ToString());
  3. 輸出致命錯誤(會導致程序崩潰)

    UE_LOG(LogTemp, Fatal, TEXT("Critical error: Player controller is null!"));

🪂 典型應用場景

  • 🐞 調試階段輸出變量值,驗證程序邏輯(如角色位置、屬性值變化)
  • 🚨 記錄錯誤信息(如空指針、資源加載失敗),便于定位 Bug
  • 📊 追蹤程序流程(如關卡切換、事件觸發),確認代碼執行順序
  • 🔍 性能分析輔助(如記錄函數執行時間)

🔗 與其他組件對比

功能UE_LOGGEngine->AddOnScreenDebugMessage
輸出位置控制臺、日志文件、調試器游戲屏幕直接顯示
信息保留持久化到日志文件一段時間后自動消失
適用場景詳細日志記錄、調試追蹤實時顯示關鍵信息(如坐標、狀態)
性能影響較低(可通過級別控制)較高(頻繁調用可能影響幀率)

?? 常見問題與注意事項

  • 日志級別濫用:避免在發布版本中保留過多 VerboseVeryVerbose 級別日志,可能增加性能開銷和日志文件體積
  • 格式化錯誤:格式化字符串與參數類型不匹配會導致編譯錯誤或運行時崩潰(如 %d 對應整數,%s 對應 FString 需加 轉換)
  • 自定義類別未定義:使用 DECLARE_LOG_CATEGORY_EXTERN 聲明的類別必須用 DEFINE_LOG_CATEGORY 定義,否則會鏈接錯誤
  • Fatal 級別謹慎使用Fatal 級日志會強制程序崩潰,僅用于不可恢復的致命錯誤

🏷 小結

  • ? UE_LOG 是 Unreal Engine 中最核心的日志工具,支持分級和分類管理
  • ? 合理使用日志級別和類別可提高調試效率,便于后期問題排查
  • ? 自定義日志類別能讓日志更有條理,建議按模塊或功能劃分(如 LogCombatLogUI
  • ? 發布版本前需清理冗余日志,避免敏感信息泄露和性能損耗

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/94033.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/94033.shtml
英文地址,請注明出處:http://en.pswp.cn/web/94033.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Halcon那些事:什么是動態閾值,如何用dyn_threshold分割圖片

Halcon那些事:什么是動態閾值,如何用dyn_threshold分割圖片 一、什么是動態閾值?為什么需要它? 1. 傳統全局閾值的局限性 2. 動態閾值的核心思想 二、Halcon 中的核心算子:`dyn_threshold` 1. 算子原型 2. 參數詳解 三、工作原理(數學模型) 四、詳細使用步驟與實例 五、關…

Go初級二

Go初級入門(二):變量、常量與數據類型 大家好,歡迎來到《Go初級入門》系列的第二篇!在上一篇文章中,我們介紹了如何安裝Go環境并運行第一個“Hello, World”程序。今天,我們將深入Go語言的基礎語…

《戰神:諸神黃昏》v1.0.668中文版,索尼大作,PC平臺體驗諸神黃昏

[游戲名稱]: 《戰神:諸神黃昏》v1.0.668中文版 [軟件大小]: 175 GB [軟件大小]: 夸克網盤 游戲介紹 《戰神:諸神黃昏》是由索尼制作并發行的動作冒險游戲,作為《戰神4》的正統續作,它繼續了奎托斯與阿特柔斯的神話之旅。在諸神…

AI賦能環保精準治理:AI水質監測溯源快、空氣質量預測施策準,守護生態新效能

傳統環境保護工作長期受限于 “污染監測滯后”“溯源難度大”“治理方案針對性弱” 的問題,而 AI 技術的深度應用,正讓環保工作從 “被動應對” 轉向 “主動預判”,既能實時捕捉污染蹤跡,還能精準制定治理方案,讓生態保…

yolo訓練實例(一)

yolo官網 https://github.com/ultralytics/ultralytics?tabreadme-ov-file 下載python和解除限制 https://www.python.org/downloads/windows/ Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled"…

STM32-BKP備份寄存器與RTC實時時鐘

引言本文主要從BKP備份寄存器和RTC實時時鐘的原理,特性及應用三個方面展開討論,解析它們在STM32中的獨特價值,助力開發者更好的掌握和運用它們。BKP備份寄存器的定義STM32的BKP備份寄存器是一種特殊的存儲單元,它位于備份區域&…

Linux網絡服務(五)——FTP服務詳解與實踐操作手冊

文章目錄前言一、FTP服務概述1.1 FTP基本定義1.2 VSFTP模式分類1.3 FTP端口作用二、FTP作用與工作原理(重點)2.1 FTP的作用、模式及通信方式2.1.1 FTP核心作用2.1.2 VSFTP模式與通信協議2.2 FTP工作原理與流程2.2.1 主動模式工作原理2.2.2 被動模式工作原…

5.3 包管理工具 npm yarn pnpm 對比

基本介紹 工具發布時間開發者定位npm2010 年npm Inc / OpenJS FoundationNode.js 官方包管理器Yarn2016 年Facebook(現 Meta)更快、更可靠的替代方案pnpm2016 年Zoltan Kochan高性能、節省磁盤空間 一、核心機制與設計差異 1. npm(Node Pa…

爬蟲基礎學習-授權認證,cookie認證,異常處理

驗證: HTTPBasicAuthHandler(用戶基本的身份驗證處理) HTTPPasswordMgrWithDefaultRealm(經常和authhandler一起出現)#創建一個密碼管理器 password_mgr urllib.request.HTTPPasswordMgrWithDefaultRealm() #添加進目…

開發避坑指南(34):mysql深度分頁查詢優化方案

問題語句 SELECT* FROMt_order_log l WHERE1 1 AND l.create_time > 2024-08-28 AND l.create_time < 2024-09-04 23:59:59 LIMIT 10000,10上述查詢sql&#xff0c;即使create_time字段已建立索引&#xff0c;但偏移量達到幾十萬時候&#xff0c;查詢耗時將近1分鐘&…

Unreal Engine UFloatingPawnMovement

Unreal? Unreal Engine - UFloatingPawnMovement&#x1f3f7; 定義&#x1f9e9; 類繼承關系?? 關鍵特性&#x1f6e0;? 常見配置&#xff08;Details 面板/代碼&#xff09;&#x1f4dd; 使用方法1) 在 Pawn 中添加組件&#xff08;C&#xff09;2) 綁定輸入與驅動移動3…

某網盤不好用?有沒有類似某網盤的存儲軟件?阿里云國際站 OSS:云存儲的全能助手,你 get 了嗎?

在這個數據爆炸的時代&#xff0c;數據存儲和管理成為了眾多企業和個人面臨的一大挑戰。想象一下&#xff0c;你是一位視頻博主&#xff0c;隨著粉絲量的增長&#xff0c;視頻素材越來越多&#xff0c;電腦硬盤根本裝不下&#xff0c;每次找素材都要花費大量時間。又或者你是一…

安全運維過程文檔體系規范

安全運維過程文檔體系規范 1. 文檔體系總覽 本文檔體系嚴格遵循“安全運維生命周期”模型設計&#xff0c;涵蓋業務建立、協同、運維管理、識別防御監測、響應和效果評估六個核心階段。體系旨在通過標準化、規范化的文檔管理&#xff0c;確保所有安全運維活動有章可循、有據可查…

【計算機網絡】 IPV4和IPV6區別

IPv4 和 IPv6 是兩代 互聯網協議&#xff08;Internet Protocol&#xff09;&#xff0c;它們的核心作用都是&#xff1a; &#x1f449; 為網絡設備分配唯一地址&#xff0c;讓它們能在網絡中互相通信。1?? 地址長度IPv4&#xff1a;32 位&#xff08;4 字節&#xff09;&am…

哈希:最長連續序列

題目描述&#xff1a;無序的整型數組&#xff0c;求連續最長序列。 輸入&#xff1a;nums [100,4,200,1,3,2] 輸出&#xff1a;4 &#xff08;因為&#xff1a;最長數字連續序列是 [1, 2, 3, 4]&#xff0c;長度為 4。&#xff09; 說明&#xff1a;連續指的是數字的連續…

python中的生成器

概要python中的生成器是一種特殊的迭代器&#xff0c;如果按照c語言的說法&#xff0c;就是一種特殊的指針&#xff0c;但是python語言的一個語言特性是兼容了函數化編程&#xff0c;類似lambda匿名函數機制。本文重點介紹生成器表達式的使用&#xff0c;是一種很快捷&#xff…

【Coze】Windows 環境下使用 Docker 部署 Coze Studio 的詳細指南

一、前言&#xff1a; Coze Studio 是一站式 AI Agent 開發工具。提供各類最新大模型和工具、多種開發模式和框架&#xff0c;從開發到部署&#xff0c;為你提供最便捷的 AI Agent 開發環境。 提供 AI Agent 開發所需的全部核心技術&#xff1a;Prompt、RAG、Plugin、Workflo…

票務系統小程序源碼

1. 系統概述 github地址 本系統是一個歷經多年迭代和市場檢驗的綜合性智慧票務解決方案。它以小程序和后臺管理系統為核心&#xff0c;深度整合了線上OTA渠道、線下多種支付方式以及各類智能硬件&#xff0c;為旅游景區、展館、活動中心等場景提供穩定、高效、功能完備的一體化…

Python 文件操作與異常處理全解析

目錄 一、文件的基本概念 1. 什么是文件 2. 文件操作的核心內容 3. 文件操作的作用 二、文件的基本操作 1. 文件操作三步走 2. 打開文件&#xff1a;open () 函數 2.1 文件路徑 2.2 常用 mode 模式 3. 寫入文件&#xff1a;write () 函數 4. 關閉文件&#xff1a;cl…

領碼方案:通用物聯網數據采集低代碼集成平臺——萬物智聯時代的黃金鑰匙

摘要&#xff1a; 領碼方案通過“協議抽象層低代碼引擎AI智能中樞”架構&#xff0c;實現物聯網設備數據采集、存儲、分析的零代碼配置化集成。支持200工業協議即插即用&#xff0c;10分鐘完成設備上云&#xff0c;數據流轉效率提升70%&#xff0c;AI模型調用耗時降低90%。該方…