FBLOG_TRACE() No logging to Logfile — FBLOG_INFO() logging OK — What is the DIFFERENCE

微笑、不失礼 提交于 2019-12-24 08:19:08

问题


FIREBREATH 1.6 -- VC2010 -- No logging with FBLOG_TRACE("StaticInitialize()", "INIT-trace");

settings

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


changing "FBLOG_TRACE" to "FBLOG_INFO" logging to Logfile works. I don´t understand the reason.


回答1:


function not inserted in its respective area

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

Discription Logging here.

Enabling logging ...

  1. regenerate your project using the prep* scripts

  2. open up Factory.cpp in your project. You need to define the following function inside the class definition for PluginFactory:

...

About log levels

...

If you want to change the log level, you need to define the following in your Factory.cpp:

Referring to the above that means somewhere in "Factory.cpp". that´s incorrect. The description should say -->

If you want to change the log level, you need to define the following function inside the class definition for PluginFactory:

I drag it from bottom of "Factory.cpp" to inside Class PluginFactory. Now it works as expected !!!




回答2:


The entire purpose of having different log levels (FBLOG_FATAL, FBLOG_ERROR, FBLOG_WARN, FBLOG_INFO, FBLOG_DEBUG, FBLOG_TRACE) is so that you can configure which level to use and anything below that level is hidden. The default log level in FireBreath is FB::Log::LogLevel_Info, which means that nothing below INFO (such as DEBUG or TRACE) will be visible.

You can change this by overriding FB::FactoryBase::getLogLevel() in your Factory class to return FB::Log::LogLevel_Trace.

The method you'd be overriding is: https://github.com/firebreath/FireBreath/blob/master/src/PluginCore/FactoryBase.cpp#L78

The definition of the LogLevel enum: https://github.com/firebreath/FireBreath/blob/master/src/ScriptingCore/logging.h#L69

There was a version of FireBreath in which this didn't work; I think it was fixed by 1.6.0, but I don't remember for certain. If that doesn't work try updating to the latest on the 1.6 branch (which is currently 1.6.1 as of the time of this writing but I haven't found time to release yet)



来源:https://stackoverflow.com/questions/10168202/fblog-trace-no-logging-to-logfile-fblog-info-logging-ok-what-is-the-di

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!