由于网上对sanic自定义log的文章太少,所以我干脆在实现后记录一下:
from sanic import Sanic
import logging
app = Sanic("test")
# 这里自定义access log
log = logging.getLogger("sanic.access")
#创建日志格式对象
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
#创建FileHandler对象
fh = logging.FileHandler('access.log')
#FileHandler对象自定义日志级别
fh.setLevel(logging.DEBUG)
#FileHandler对象自定义日志格式
fh.setFormatter(formatter)
log.addHandler(fh)
app.run(host="0.0.0.0", port="8080", access_log=True)
其实关键点就是两个:
- app.run中的access_log参数
- logger名字为
sanic.access
还可以用同样的方法自定义
sanic.error
sanic.root