2012-04-16 2 views
1

FIREBREATH 1.6 - VC2010 - FBLOG_TRACE ("StaticInitialize()", "INIT-trace")를 사용하여 로깅하지 않습니다.FBLOG_TRACE() 로깅하지 않음 - FBLOG_INFO() 로깅 OK - 차이점

설정

outMethods.push_back (표준 : make_pair (FB :: 로그인 :: LogMethod_File, "U : /logs/PT.log을")); ... FB :: 로그 :: LogLevel getLogLevel() { return FB :: Log :: LogLevel_Trace; ...


"FBLOG_TRACE을"변화에 로그 파일에 "FBLOG_INFO"로깅이 작동합니다. 이유를 모르겠다.

답변

2

함수가 각각의 함수에 삽입되지 않았습니다. 지역

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

Discription 로깅 here. 로깅 활성화

...

  1. 프로젝트에서 Factory.cpp을 열 준비 *을 스크립트를 사용하여 프로젝트를 다시 생성. 당신은 PluginFactory의 클래스 정의 내부에 다음과 같은 기능 를 정의 할 필요가 : 로그 수준

    소개

...

...

당신이 원하는 경우 로그 레벨을 변경하려면 공장에서 다음을 정의해야합니다.cpp :

위의 내용은 "Factory.cpp"의 어딘가의을 의미합니다. 잘못된 것입니다. 설명은 말해야한다 - 로그 레벨을 변경하려면>

, 당신은 PluginFactory의 클래스 정의 내부에 다음과 같은 기능 를 정의해야

을 내가 Factory.cpp "의 하단에서 드래그 "클래스 PluginFactory 내부. 이제 예상대로 작동합니다.

+0

미안하지만, 나는 높은 수준의 C++ 경험을했다고 생각합니다. 메서드를 재정의해야한다고 지정 했으므로 메서드가 팩토리 클래스에 있어야합니다. 확실히 .cpp 파일에 넣을 수 있지만 클래스 헤더에도 정의가 있어야합니다. 이것은 표준 C++ 실습입니다. – taxilian

+1

오래전에 나는 설명을 아주 조심스럽게 읽는 것이 좋은 것이라고 깨달았습니다. 저에게있어 ** Factory.cpp **에서 다음을 정의하고 ** PluginFactory **에 대한 클래스 정의 내에서 다음 함수를 정의하는 것 사이에는 차이가 있습니다. ** 높은 수준의 C++ 경험 **과 아무 관련이 없습니다. 그냥 지시를 따르십시오. 당신이 github에서 코드를 얼마나 빨리 바꿀 수 있는지 봅니다. 다른 사용자가 잘못된 방향을 가리 키지 않도록하시기 바랍니다. Change **는 Factory.cpp **에서 다음을 정의하여 ** PluginFactory **에 대한 클래스 정의 내에서 다음 함수를 정의합니다. 부디. 그것은 2 일을 소비한다. ;) –

+2

FireBreath.org는 위키입니다. 직접 업데이트하실 수 있습니다! (모든 업데이트를 수행하면 사람들이 어떻게 배울지 모르고 문서를 작성하는 대신 주로 버그를 수정하는 데 시간을 소비하려고합니다. 시간이 주어질 때 시스템을 사용하는 사람들에게 도움을 요청하는 것은 작은 가격이라고 생각합니다. 프로젝트 유지 보수에 사용) – taxilian

1

서로 다른 로그 수준 (FBLOG_FATAL, FBLOG_ERROR, FBLOG_WARN, FBLOG_WIN, FBLOG_DEBUG, FBLOG_TRACE)을 사용한다는 것은 모든 수준을 사용하도록 구성 할 수 있으며 그 수준 아래의 항목은 숨겨져 있습니다. FireBreath의 기본 로그 레벨은 FB :: Log :: LogLevel_Info입니다. 즉, INFO (DEBUG 또는 TRACE) 아래에 아무것도 표시되지 않음을 의미합니다.

Factory 클래스의 FB :: FactoryBase :: getLogLevel()을 재정 의하여 FB :: Log :: LogLevel_Trace를 반환하면이 설정을 변경할 수 있습니다.

당신이 무시 될 것입니다 방법은 다음과 같습니다 https://github.com/firebreath/FireBreath/blob/master/src/PluginCore/FactoryBase.cpp#L78

로그 레벨 열거의 정의 : 이 FireBreath의 버전이 있었다 https://github.com/firebreath/FireBreath/blob/master/src/ScriptingCore/logging.h#L69

하는 문제가 해결되지 않았다 나는 그것이 1.6.0으로 고정되었다고 생각하지만, 나는 확실히 기억하지 않는다. 그래도 작동하지 않으면 1.6 분기 (현재 1.6.1은이 글을 쓰고 있지만 아직 출시 할 시간을 찾지 못했습니다)의 최신 버전으로 업데이트하십시오.

관련 문제