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

2019-10-16 14:51发布

FIREBREATH 1.6 - VC2010 - 与FBLOG_TRACE不记录( “StaticInitialize()”, “INIT追踪”);

设置

outMethods.push_back(标准:: make_pair(FB ::登录:: LogMethod_File, “U:/logs/PT.log”)); ... FB ::登录:: LogLevel的getLogLevel(){返回FB ::登录:: LogLevel_Trace; ...


改变“FBLOG_TRACE”到“FBLOG_INFO”记录到日志文件的工作。 我不明白其中的道理。

Answer 1:

功能不是在其各自的区域插入

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

详细描述记录在这里 。

启用日志记录 ...

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

  2. 在您的项目开拓Factory.cpp。 您需要定义的类定义 PluginFactory 以下功能:

...

关于日志级别

...

如果要更改日志级别,你需要在你Factory.cpp定义如下:

参照上述,在“Factory.cpp” 某处装置。 that's不正确。 描述应该说 - >

如果要更改日志级别,您需要定义类定义 PluginFactory 以下功能:

我拖动它从“Factory.cpp”的底部内部类PluginFactory。 现在,它将按预期工作!



Answer 2:

具有不同日志级别(FBLOG_FATAL,FBLOG_ERROR,FBLOG_WARN,FBLOG_INFO,FBLOG_DEBUG,FBLOG_TRACE)的全部目的是为了让您可以配置要使用的水平,低于这一水平什么是隐藏的。 在FireBreath默认的日志级别是FB ::登录:: LogLevel_Info,这意味着没有低于INFO(如DEBUG或者TRACE)将是可见的。

您可以通过在工厂类中重写FB :: FactoryBase :: getLogLevel()返回FB ::登录:: LogLevel_Trace改变这一点。

你会是压倒一切的方法是: https://github.com/firebreath/FireBreath/blob/master/src/PluginCore/FactoryBase.cpp#L78

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

有FireBreath的版本中并没有工作; 我认为它是固定的1.6.0,但我不记得一定的。 如果不行尝试更新到最新的1.6分支(这是目前1.6.1为写这篇文章的时间,但我还没有找到时间来释放尚)



文章来源: FBLOG_TRACE() No logging to Logfile — FBLOG_INFO() logging OK — What is the DIFFERENCE
标签: firebreath