subprocess.Popenのstdoutとstderrを別レベルでloggingしたいのですが、単純
に下のようにすると、(公式のドキュメントにもあるように)デッドロックして
しまいます。簡単な解法はないものでしょうか? (loggingの初期化は省略して
ます)

import logging
from subprocess import Popen, PIPE
p = Popen(["somecommand"], stdout=PIPE, stderr=PIPE)
with p.stdout as so:
for line in so:
logging.debug(line.rstrip('\n'))
with p.stderr as se:
for line in se:
logging.info(line.rstrip('\n'))