胖蔡说技术
随便扯扯

Sanic 日志配置

SANIC允许您根据 python3 logging API . 如果您想创建一个新的配置,那么您应该对python3日志记录有一些基本知识。

快速启动

使用默认设置的简单示例如下:

from sanic import Sanic
from sanic.log import logger
from sanic.response import text

app = Sanic('logging_example')

@app.route('/')
async def test(request):
    logger.info('Here is your log')
    return text('Hello World!')

if __name__ == "__main__":
  app.run(debug=True, access_log=True)

服务器运行后,您可以看到以下消息:

[2018-11-06 21:16:53 +0800] [24622] [INFO] Goin' Fast @ http://127.0.0.1:8000
[2018-11-06 21:16:53 +0800] [24667] [INFO] Starting worker [24667]

您可以向服务器发送请求,它将打印日志消息:

[2018-11-06 21:18:53 +0800] [25685] [INFO] Here is your log
[2018-11-06 21:18:53 +0800] - (sanic.access)[INFO][127.0.0.1:57038]: GET http://localhost:8000/  200 12

要使用自己的日志配置,只需使用 logging.config.dictConfig 或通过 log_config 初始化时 Sanic 应用程序:

app = Sanic('logging_example', log_config=LOGGING_CONFIG)

要关闭日志记录,只需分配access_log=false:

if __name__ == "__main__":
  app.run(access_log=False)

这将在处理请求时跳过调用日志记录函数。你甚至可以在生产中做更多的工作来获得额外的速度:

if __name__ == "__main__":
  # disable debug messages
  app.run(debug=False, access_log=False)

配置

默认情况下, log_config 参数设置为使用 sanic.log.LOGGING_CONFIG_DEFAULTS 配置字典。

Sanic 使用了三个 loggers , 如果要创建自己的日志配置,则必须定义 :

记录器名称用例
sanic.root用于记录内部消息。
sanic.error用于记录错误日志。
sanic.access用于记录访问日志。

日志格式:

除了python提供的默认参数之外 (asctime , levelname , message )SANIC为访问记录器提供了附加参数:

日志上下文参数参数值资料型态
hostrequest.ipSTR
requestrequest.method + ” ” + request.urlSTR
statusresponse.statusint
bytelen(response.body)int

默认访问日志格式为 %(asctime)s - (%(name)s)[%(levelname)s][%(host)s]: %(request)s %(message)s %(status)d %(byte)d

赞(0) 打赏
转载请附上原文出处链接:胖蔡叨叨叨 » Sanic 日志配置
分享到: 更多 (0)

请小编喝杯咖啡~

支付宝扫一扫打赏

微信扫一扫打赏