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(){ return FB::Log::LogLevel_Trace; ...
изменение "FBLOG_TRACE" на "FBLOG_INFO", ведение журнала в Logfile работает. Я не понимаю причину.
2 ответа
Функция не вставлена в соответствующую область
FB::Log::LogLevel getLogLevel(){
return FB::Log::LogLevel_Trace; // Now Trace and above is logged.
}
Логирование здесь.
Включение ведения журнала...
восстановить ваш проект, используя сценарии prep *
откройте Factory.cpp в вашем проекте. Вам нужно определить следующую функцию внутри определения класса для PluginFactory:
...
Об уровнях журнала
...
Если вы хотите изменить уровень журнала, вам нужно определить следующее в вашем Factory.cpp:
Ссылаясь на выше, это означает, что где-то в "Factory.cpp". это неправильно. Описание должно сказать ->
Если вы хотите изменить уровень журнала, вам нужно определить следующую функцию внутри определения класса для PluginFactory:
Я перетаскиваю его из нижней части "Factory.cpp" внутрь Class PluginFactory.Теперь все работает как положено!!!
Вся цель наличия разных уровней журнала (FBLOG_FATAL, FBLOG_ERROR, FBLOG_WARN, FBLOG_INFO, FBLOG_DEBUG, FBLOG_TRACE) состоит в том, чтобы вы могли настроить, какой уровень использовать, а все, что ниже этого уровня, скрыто. Уровень журнала по умолчанию в FireBreath - FB::Log::LogLevel_Info, что означает, что ничего ниже INFO (например, DEBUG или TRACE) не будет видно.
Вы можете изменить это путем переопределения FB::FactoryBase::getLogLevel() в вашем классе Factory для возврата FB::Log::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, но я еще не удосужился выпустить)