У меня есть 2 сценария Python, где один использует подпроцесс для выполнения другого, см. Ниже:
main.py
import subprocess
command = ['python', 'logging_test.py']
proc1 = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = proc1.communicate()
print('Output returned from command: {}'.format(out))
print('Error returned from command: {}'.format(err))
logging_test.py
import logging
logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger('log')
logger.info('hello')
При запуске main.py я получаю это в качестве вывода:
Output returned from command:
Error returned from command: INFO:log:hello
Я ожидаю, что сообщение журнала будет возвращено stdout, а не stderr ... Кто-нибудь знает, почему оно возвращается как ошибка?