subprocess.call información del registrador y error para stdout y stderr respectivamente

Tengo un maderero. algo como esto:

import logging

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

Estoy llamando a un proceso externo como este:

subprocess.call("someCommand")

Quiero capturar stdout y stderr por separado de ese proceso para poder registrarlos de forma correspondiente. Por ejemplo

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

Veo varias formas de capturar todo el subproceso en una secuencia. Pero, si hay un error real, me gustaría registrarlo como tal. ¿Hay una manera de hacerlo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta