python-在aiohttp 2中指定日志请求格式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-在aiohttp 2中指定日志请求格式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1874字,纯文字阅读大概需要3分钟。
内容图文
![python-在aiohttp 2中指定日志请求格式](/upload/InfoBanner/zyjiaocheng/693/deca1742b568452dbab9ac1852040d1a.jpg)
我正在将aiohttp 2与Python 3.6配合使用,并希望记录到应用程序的请求.
我做了:
# use ISO timestamps
from time import gmtime
logging.Formatter.converter = gmtime
# create a formatter
ch = logging.StreamHandler()
formatter = logging.Formatter('%(asctime)s %(levelname)s %(name)s - %(message)s', '%Y-%m-%dT%H:%M:%S')
ch.setFormatter(formatter)
# show all emssages (default is WARNING)
logging.getLogger('aiohttp.access').setLevel(logging.DEBUG)
# attach the handler
logging.getLogger('aiohttp.access').addHandler(ch)
现在,当应用程序运行时,我会收到以下格式的日志:
2017-04-19T16:02:17 INFO aiohttp.access - 127.0.0.1 - - [19/Apr/2017:16:02:17 +0000] "GET /test HTTP/1.1" 404 547 "-" "curl/7.51.0"
消息组件具有多余的时间戳,我想自定义其格式. documentation说应该有可能,但是我不明白如何使其真正起作用,也没有代码示例.
我发现只有this usage,但有:
mylogger = logging.Logger('aiohttp.access')
mylogger.setLevel(logging.DEBUG)
mylogger.addHandler(ch)
handler = app.make_handler(
logger=mylogger,
access_log_format='%r %s %b',
)
该应用程序根本不产生任何日志.我不明白make_handler的确切功能,而previous question则无济于事.
如何格式化日志的消息部分并插入aiohttp文档中列出的元素?
解决方法:
您可以看到我的示例:
import asyncio
import logging
from aiohttp import web
mylogger = logging.getLogger('aiohttp.access')
mylogger.setLevel(logging.DEBUG)
ch = logging.StreamHandler()
mylogger.addHandler(ch)
async def handle(request):
name = request.match_info.get('name', "Anonymous")
text = "Hello, " + name
return web.Response(text=text)
loop = asyncio.get_event_loop()
app = web.Application(loop=loop)
app.router.add_get('/', handle)
app.router.add_get('/{name}', handle)
loop.run_until_complete(
loop.create_server(
app.make_handler(access_log=mylogger,
access_log_format='%r %s %b'), '0.0.0.0', 8080))
loop.run_forever()
loop.close()
运行它并访问“ http://127.0.0.1:8080/xmwd”,您将在控制台中看到GET / xmwd HTTP / 1.1 200 11.
内容总结
以上是互联网集市为您收集整理的python-在aiohttp 2中指定日志请求格式全部内容,希望文章能够帮你解决python-在aiohttp 2中指定日志请求格式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。