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ć?