QProcess
子をいくつか起動し、次にQProcess::setChannelMode(QProcess::ForwardedChannels)
を呼び出すQtアプリケーションがあります。私はこのアプリケーションのstdout(現在は子供のstdoutを含む)をログファイルに送りたいと思います。その場所はアプリケーションによって決まります。つまり、指定した場所に書き込むようにロギングを変更することはできませんこれは子供のためにはうまくいかず、app | tee logfile
をどこに打つべきかわからないので実行できません。Qtアプリケーションでのファイルへのstdoutへの転送
私はそれが存在すれば(それがあれば見つけることができませんでした) - これをQt経由で行う方法ですが、他の解決策も受け入れられます。
複数のプロセスが同時に書き込みを行う場合、これはうまくいくのではないでしょうか。 cライブラリ関数はロックを提供しません。具体的に要求されない限り、基礎となるOS APIがそのようなロック機構を提供するのではないかと疑います。この方法で問題が解決した場合は、ロギングが低い周波数でのみ発生するため、問題が発生する可能性は非常に高いです。 – smerlin