답변:
QGIS는 기본적으로 로그 메시지를 파일에 쓰지 않습니다.
디버그 빌드 (일반적으로 야간)가있는 경우 stdout에 작성됩니다. 즉, Linux의 터미널에서 실행하면 메시지가 표시됩니다. Windows에는 메시지를 가로 챌 수있는 Windows 용 디버깅 도구 또는 이와 유사한 도구가 있다고 생각합니다.
대안은 최소한의 파이썬 스크립팅을 사용하는 것입니다. 모든 메시지는 Qt 신호로 방출됩니다. 따라서 이러한 신호에 연결하여 파일에 쓸 수 있습니다. 간단하게 당신의 파이썬 콘솔에 다음 명령을 복사
QGIS 3의 경우 :
filename = '/tmp/qgis.log'
def write_log_message(message, tag, level):
with open(filename, 'a') as logfile:
logfile.write('{tag}({level}): {message}'.format(tag=tag, level=level, message=message))
QgsApplication.messageLog().messageReceived.connect(write_log_message)
또는 QGIS 2의 경우 :
filename = '/tmp/qgis.log'
def write_log_message(message, tag, level):
with open(filename, 'a') as logfile:
logfile.write('{tag}({level}): {message}'.format(tag=tag, level=level, message=message))
QgsMessageLog.instance().messageReceived.connect(write_log_message)
이 코드를 실행하면 출력이에 기록됩니다 /tmp/qgis.log
.
이것은이 특정 문제에 도움이되지 않지만 런타임 동안 로그를보고자하는 경우 (예 : QGIS가 충돌 하지 않음 ) 로그 메시지 패널을 활성화 할 수 있습니다.
QGIS에서보기> 패널> 로그 메시지로 이동하십시오.
상자가 선택되어 있는지 확인하십시오.