subprocess.call logger info und error für stdout bzw. stderr

Ich habe einen Logger. etwas wie das:

import logging

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

Ich rufe einen externen Prozess wie diesen auf:

subprocess.call("someCommand")

Ich möchte stdout und stderr separat von diesem Prozess erfassen, damit ich sie entsprechend protokollieren kann. Zum Beispiel

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

Ich sehe verschiedene Möglichkeiten, um den gesamten Unterprozess in einem Stream zu erfassen. Wenn jedoch ein tatsächlicher Fehler vorliegt, möchte ich ihn als solchen protokollieren. Gibt es eine Möglichkeit, das zu tun?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage