subprocess.call informacje rejestratora i błąd odpowiednio dla stdout i stderr

Mam rejestratora. coś takiego:

import logging

logger = logging.getLogger('myApp')
hdlr = logging.FileHandler('myApp.log')
logger.addHandler(hdlr)
logger.setLevel(logging.INFO)

Nazywam taki proces zewnętrzny:

subprocess.call("someCommand")

Chcę przechwycić stdout i stderr oddzielnie od tego procesu, aby móc je odpowiednio rejestrować. Na przykład

logger.info(<stdout>)
logger.error(<stderr>)

Widzę różne sposoby przechwytywania całego podprocesu w jednym strumieniu. Ale jeśli istnieje rzeczywisty błąd, chciałbym go zapisać jako taki. Czy istnieje sposób, aby to zrobić?

questionAnswers(1)

yourAnswerToTheQuestion