Почему spdlog не печатается в асинхронной функцииPython

Программы на Python
Anonymous
Почему spdlog не печатается в асинхронной функции

Сообщение Anonymous »

Код: Выделить всё

import asyncio
from pathlib import Path
import spdlog as spd
import asyncio
import logging

async def A():
asyncio.create_task(B())
while True:
await asyncio.sleep(1)

async def B():
logger = spd.DailyLogger(name = 'B', filename = 'B.log', hour = 0, minute = 0, async_mode=True)
logger.set_level(spd.LogLevel.INFO)
# logging.basicConfig(level=logging.INFO, filename='B.log', filemode='w')
# logger = logging.getLogger('B')
while True:
logger.info('B')
await asyncio.sleep(1)

if __name__ == "__main__":
asyncio.run(A())
Сначала я создал задачу B внутри A, которая печатает строку B каждую секунду. Когда я использовал ведение журнала по умолчанию в Python, все работало нормально, но при использовании spdlog в C++ выходных данных нет, независимо от того, включаю ли я async_mode или нет.
Я пытался отключить async_mode , всё то же

Подробнее здесь: https://stackoverflow.com/questions/788 ... c-function

Вернуться в «Python»