Python のドキュメンテーションによると、Windows では「ロギングはファイルを排他ロックで開きます」。
実際、Django では、次のような構成を使用します。
'handlers': {
'logfile': {
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename': 'myapp.log',
'maxBytes': 1024 * 1024,
'backupCount': 9,
'formatter': 'standard',
},
},
アプリケーションが Windows Azure Web サイト (IIS + WSGI の下) で実行されると、Django アプリケーションが停止されるまで、他のアプリケーションはログ ファイルを読み取ることができません。
ファイルを排他モードで開かずに、この環境 (Windows Server、IIS、WSGI) でファイルにログを記録する方法はありますか?