1. UE4日志級別設(shè)置
1.1. 日志級別分類
-
Fatal
Fatal等級日志總是會打印到控制臺和日志文件以及crash文件中锨能,甚至logging功能被禁用丑罪。
-
Error
Error等級日志被打印到控制臺和日志文件中,默認以紅色顯示鬓长。
-
Warning
Warning等級日志被打印到控制臺和日志文件中谒拴,默認以黃色顯示尝江。
-
Display
Display等級日志被打印到控制臺和日志文件中涉波。
-
Log
Log等級日志打印到日志文件中但是不出現(xiàn)在game模式的控制臺中,但是通過編輯器的日志輸出窗口還是能夠被看到。
-
Verbose
Verbose等級日志打印到日志文件中但是不出現(xiàn)在game模式的控制臺中啤覆,這個通常被用來作為詳細日志和調(diào)試使用苍日。
-
VeryVerbose
VeryVerbose等級日志被打印到日志文件中但是不出現(xiàn)在game模式的控制臺中,這通常用來打印非常詳細的日志記錄否則會產(chǎn)生很多不必要的垃圾輸出窗声。
每個日志等級詳細程度被四個部分控制:Compile-time verbosity(編譯時詳細程度), default verbosity(默認詳細程度), ini verbosity(ini配置詳細程度), runtime-verbosity(運行時詳細程度).
啟動時相恃,默認的編譯時詳細程度被ini配置詳細程度覆蓋,ini配置被命令行覆蓋笨觅。
具體配置和命令見下面的各個說明拦耐。
1.2. Log conventions (in the console, ini files, or environment variables)
- [cat] = a category for the command to operate on, or 'global' for all categories.
- [level] = verbosity level, one of: none, error, warning, display, log, verbose, all, default
At boot time, compiled in default is overridden by ini files setting, which is overridden by command line
1.3. 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 [cat]
1.4. 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
1.5. Environment variables
Any command line option can be set via the environment variable UE-CmdLineArgs
set UE-CmdLineArgs=\"-LogCmds=foo verbose breakon, bar off\"
1.6. Config file
In DefaultEngine.ini or Engine.ini:
[Core.Log]
global=[default verbosity for things not listed later]
[cat]=[level]
foo=verbose break
對于不同的系統(tǒng),你可以設(shè)置不同的默認等級见剩,這樣可以在調(diào)試的時候杀糯,將某個類型的某些等級的日志打開,方便調(diào)試苍苞,正常的情況下默認關(guān)閉這些日志等級的輸出固翰。具體代碼示例如下:
//顯示所有日志語句。
DECLARE_LOG_CATEGORY_EXTERN ( LogMyGameSomeSystem 羹呵, Log 骂际, All );
//不會顯示VeryVerbose語句。
DECLARE_LOG_CATEGORY_EXTERN ( LogMyGameSomeSystem 冈欢, Verbose 歉铝, All );
//不會顯示VeryVerbose和Verbose語句。
DECLARE_LOG_CATEGORY_EXTERN ( LogMyGameSomeSystem 凑耻, VeryVerbose 犯戏, All );
每個游戲可以根據(jù)需要對不同系統(tǒng)創(chuàng)建不同類型的日志,這樣方便調(diào)試的時候打開某些系統(tǒng)的某些等級的日志拳话,以方便定位問題先匪。
參考鏈接:
https://wiki.unrealengine.com/Logs,_Printing_Messages_To_Yourself_During_Runtime
https://answers.unrealengine.com/questions/78413/ue-log-not-changing-logging-level.html