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?