虚幻4日志管理插件

插件源码
虚幻4默认日志管理的问题
- 虚幻4默认的日志都是输出到同一个文件中,如果你的项目比较大(一般游戏项目都不小),功能模块比较多,这样调试起来就非常不方便,虽然一些文本编辑器也有关键字过滤的功能,但是如果能直接输出到不同的文件,还是要更加方便
 - 当多次启动后,虚幻会将之前的log文件按照本次启动的时间重命名一下进行备份,这样就带来一个问题,如果需要用户提交log文件的话,很可能会拿错文件
 
日志插件功能
- 每次启动生成一个以当前时间为名称的目录,本次运行过程中产生的所有log都生成在这个目录下
 - 增加一个 
filter功能,把特定分类的log输出到单独的日志文件中 
使用
- 
将插件代码复制到项目的
Plugins目录下,并在编辑器中刷新Visual Studio工程,如图:
 - 
在项目的编译规则中,加入插件依赖,如图:

 - 
增加一个日志分类
// in .h DECLARE_LOG_CATEGORY_EXTERN(LogPluginTest, Log, All); // in .cpp DEFINE_LOG_CATEGORY(LogPluginTest) - 
在项目的初始化中增加日志插件的初始化
#include "ILogManager.h" if (ILogManager::IsAvailable()) { �留最近的5个日志文件夹 anager::Get().Remains(5); �LogPluginTest分类的log输出到单独的文件夹中 anager::Get().AddFilter(LogPluginTest.GetCategoryName().ToString(), true); } - 
输出log
UE_LOG(LogPluginTest, Display, TEXT("Test log 1")); - 
最终的效果,如图


 - 
如果想要使用虚幻默认的日志行为,则只需要禁用插件即可,不需要修改代码
 



