回答:
QGISはデフォルトではログメッセージをファイルに書き込みません。
デバッグビルド(通常はナイトリー)がある場合、それらはstdoutに書き込まれます。つまり、Linuxのターミナルで実行すると、そこにメッセージが表示されます。Windowsには、Debugging Tools for Windowsなどと呼ばれる、メッセージを傍受できるツールがあると思います。
別の方法は、最小限のpythonスクリプトを使用することです。すべてのメッセージはQtシグナルとして出力されます。したがって、これらの信号に接続してファイルに書き込むことができます。次のコマンドをPythonコンソールにコピーするだけです
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で、[表示]> [パネル]> [メッセージのログ]に移動します。
ボックスがチェックされていることを確認してください。