FBLOG_TRACE() 没有记录到日志文件 -- FBLOG_INFO() 日志记录正常 -- 有什么区别



FIREBREATH 1.6 -- VC2010 --没有使用 FBLOG_TRACE("StaticInitialize()"、"INIT-trace")进行日志记录;

设置

outMethods.push_back(std::make_pair(FB::Log::LogMethod_File, "U:/logs/PT.log"));...FB::Log::LogLevel getLogLevel(){ 返回FB::日志::LogLevel_Trace;...


将"FBLOG_TRACE"更改为"FBLOG_INFO"日志记录到日志文件有效。我不明白原因。

函数未

插入其各自的区域

FB::Log::LogLevel getLogLevel(){
    return FB::Log::LogLevel_Trace; // Now Trace and above is logged.
}

描述日志记录在这里。

启用日志记录...

  1. 使用 Prep* 脚本重新生成项目

  2. 在项目中打开工厂.cpp。您需要在插件工厂的类定义中定义以下函数:

关于日志级别

如果要更改日志级别,则需要在工厂.cpp中定义以下内容:

提到上面的意思是"工厂.cpp"中的某个地方。 这是不正确的。描述应该说-->

如果要更改日志级别,则需要在 PluginFactory 的类定义中定义以下函数:

我把它从"工厂.cpp"的底部拖到类插件工厂里面。现在它按预期工作!!

具有不同日志级别(FBLOG_FATAL、FBLOG_ERROR、FBLOG_WARN、FBLOG_INFO、FBLOG_DEBUG FBLOG_TRACE)的全部目的是您可以配置要使用的级别,并且该级别以下的任何内容都将被隐藏。 FireBreath 中的默认日志级别为 FB::Log::LogLevel_Info,这意味着 INFO 以下的任何内容(例如 DEBUG 或 TRACE)都不可见。

您可以通过重写工厂类中的 FB::FactoryBase::getLogLevel() 来更改此设置,以返回 FB::Log::LogLevel_Trace。

您要覆盖的方法是:https://github.com/firebreath/FireBreath/blob/master/src/PluginCore/FactoryBase.cpp#L78

日志级枚举的定义:https://github.com/firebreath/FireBreath/blob/master/src/ScriptingCore/logging.h#L69

有一个版本的火呼吸不起作用;我认为它是由 1.6.0 修复的,但我不记得了。如果这不起作用,请尝试更新到 1.6 分支上的最新版本(截至撰写本文时目前为 1.6.1,但我还没有找到时间发布)

相关内容

  • 没有找到相关文章

最新更新