使用Python的异步日志记录

2024-09-28 23:39:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要以异步方式登录。但是我犯了一个错误。如何修复此错误


运行时警告:从未等待协同路由“asy_log”

asy_日志(“警告消息”、“错误源1”、“警告”)

RuntimeWarning:启用tracemalloc以获取对象分配回溯

代码:-

import asyncio
import logging
import sys

logger = logging.getLogger("asyncio")
logger.setLevel(logging.INFO)

formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')

streamhandler = logging.StreamHandler(stream=sys.stdout)
streamhandler.setLevel(logging.INFO)
streamhandler.setFormatter(formatter)

logger.addHandler(streamhandler)

filehandler = logging.FileHandler('test3.log')
filehandler.setLevel(logging.INFO)
filehandler.setFormatter(formatter)

logger.addHandler(filehandler)

async def asy_log(self, logtext=None, logsource = None, logcriticality= None):
    
    loginfo = logsource + logtext
    await getattr(logger, logcriticality)(loginfo)

    loop = asyncio.get_event_loop()
    loop.run_until_complete(asy_log())
    loop.close()


asy_log("Warning message", "Errorsource1", 'warning')


Tags: importinfononelooplogasyncio警告formatter