虚幻4LOG的使用
LOG配置说明
- 可以在
DefaultEngine.ini
中修改以下几项配置[LogFiles] ; 5天前的log全部删除,-1为不清理 PurgeLogsDays=5 ; 最多保留最近的10个log文件,-1为不清理 MaxLogFilesOnDisk=10 ; log中的时间格式,True为UTC时间戳,False为不输出时间戳,SinceStart 为自进程启动以来的秒数 LogTimes=True
LOG命令行参数说明
-
-LOG
- 指定log文件名称,默认为
游戏名称.log
- 例如:
-LOG=CustomName.log
- 说明:
- 会自动创建log路径中不存在的文件夹
- 指定log文件名称,默认为
-
-ABSLOG
- 指定log文件的完整路径,默认为
工程目录\Saved\Logs\游戏名称.log
- 例如:
-ABSLOG=D:/CustomName.log
- 说明:
- 如果同时指定
-LOG
和-ABSLOG
,只会生效-LOG
- 会自动创建log路径中不存在的文件夹
- 如果同时指定
- 指定log文件的完整路径,默认为
-
-FORCELOGFLUSH
- 输出log时实时写到log文件中,默认为缓冲区满了才写到log中
-
log中的时间戳格式
-
-LOGTIMES
- log中的时间为UTC时间戳
-
-NOLOGTIMES
- 不带时间戳
-
-LOGTIMESINCESTART
- log中的时间为自进程启动以来的秒数
-
优先级:
-LOGTIMES
>-NOLOGTIMES
>-LOGTIMESINCESTART
- 意思就是命令行中同时存在这些命令,以优先级高的为准
- 如果命令行中指定了时间戳格式,那么以命令行中的为准,忽略配置文件中的时间格式配置
-
LOG宏的使用
-
LOG声明
/** A macro to declare a logging category as a C++ "extern" @param CategoryName, 新的log分类名称 @param DefaultVerbosity, 该log分类的日志等级(小于这个log等级的日志都不会被输出) @param CompileTimeVerbosity, 该log分类最大的日志等级 / DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity);
例如: ``` cpp // 声明一个LogTest分类,默认日志等级为Log,最大支持的日志等级为All DECLARE_LOG_CATEGORY_EXTERN(LogTest, Log, All);
-
LOG实现
DEFINE_LOG_CATEGORY(CategoryName)
例如: ``` cpp DEFINE_LOG_CATEGORY(LogTest)
日志等级
namespace ELogVerbosity
{
enum Type
{
/** 禁用,不输出任何log */
NoLogging = 0,
/** 致命错误等级,同时输出到控制台和文件中
* Always prints s fatal error to console (and log file) and crashes (even if logging is disabled)
*/
Fatal,
/** 错误等级,同时输出到控制台和文件中
* Prints a warning to console (and log file).
* Commandlets and the editor collect and report warnings. Warnings can be treated as an error.
*/
Error,
/**
* 警告等级,同时输出到控制台和文件中
* Prints a warning to console (and log file).
* Commandlets and the editor collect and report warnings. Warnings can be treated as an error.
*/
Warning,
/**
* 信息等级,同时输出到控制台和文件中
* Prints a message to console (and log file)
*/
Display,
/**
* 日志等级,只输出到文件中
* Prints a message to a log file (does not print to console)
*/
Log,
/**
* 详细等级
* Prints a verbose message to a log file (if Verbose logging is enabled for the given category,
* usually used for detailed logging)
*/
Verbose,
/**
* 调试等级
* Prints a verbose message to a log file (if VeryVerbose logging is enabled,
* usually used for detailed logging that would otherwise spam output)
*/
VeryVerbose,
// Log masks and special Enum values
All = VeryVerbose,
NumVerbosity,
VerbosityMask = 0xf,
SetColor = 0x40, // not actually a verbosity, used to set the color of an output device
BreakOnLog = 0x80
};
}