한국어
Qt

로깅 규칙을 사용하면 Qt 프레임워크 로그 범주를 유연하게 활성화 또는 비활성화 할 수 있다.

Qt 5.3부터 로깅 규칙은 QT_LOGGING_RULES 환경 변수에서 설정하거나 로깅 구성파일에 명시할 수 있는데, 실행시 로깅 구성 파일의 [Rules] 섹션에서 자동으로 로드된다. 이러한 구성 파일은 QtProject 구성 디렉토리에서 찾고 QT_LOGGING_CONF 환경 변수에 명시적으로 설정된다.

 

아래는 scenegraph관련 로깅을 위해 qtlogging.ini 명시하였다. 

QtProject/qtlogging.ini
[Rules]
*.debug=false
qt.scenegraph.*=true
 

다른 방법으로 setFilterRules() 함수를 호출할 수 도있다.

아래는 QPA 플랫폼을 확인하기 위해 소스코드에서 setFilterRules()을 이용하여 로깅룰을 설정한 예이다.

#include <QLoggingCategory>
 
int main(int argc, char *argv[])
{
    ...
    QLoggingCategory::setFilterRules(QStringLiteral("qt.qpa.*=true"));
    ...
}
 

또는 아래와 같은 방법들도 있다.

 

환경변수에 정의한 ini안에 [Rules] 섹션에 정의하는 방법

– [Rules] section of file set in QT_LOGGING_CONF (Qt 5.3)

qputenv("QT_LOGGING_CONF","C:/Project/test_config.ini");

test_config.ini

[Rules]
*.debug=false
qt.scenegraph.*=true

 

QT_LOGGING_RULES환경변수에 바로 정의하는 방법

– QT_LOGGING_RULES environment variable (Qt 5.3)

qputenv("QT_LOGGING_RULES", "qt.scenegraph*=true");

 

QLoggingCategory클래스에 대한 자세한 정보 및 다른 방법들은 아래 링크참조.

http://doc.qt.io/qt-5/qloggingcategory.html