文档章节

Sanic框架之日志记录

FenG_Vnc
 FenG_Vnc
发布于 2017/09/05 19:18
字数 249
阅读 176
收藏 0

前言

Sanic没有像Flask那么优秀的集成了logging。但是项目中日志功能又必不可少。所以就来学习下

首先是官方的一个例子

from sanic import Sanic
from sanic.config import LOGGING

# The default logging handlers are ['accessStream', 'errorStream']
# but we change it to use other handlers here for demo purpose
LOGGING['loggers']['network']['handlers'] = [
    'accessSysLog', 'errorSysLog']

app = Sanic('test')

@app.route('/')
async def test(request):
    return response.text('Hello World!')

if __name__ == "__main__":
  app.run(log_config=LOGGING)
```
### 可以看出,sanic有关于对logging的配置。但是如果像Flask中直接使用的话,还需要改造一下。
```python
from sanic.response import json
from sanic import Sanic
from sanic.config import LOGGING
import logging

class sanic(Sanic):

    def __init__(self,*args,**kwargs):
        super(sanic,self).__init__(*args,**kwargs)

        self.web_app = Sanic(__name__)
        self.web_app.config.LOGO = None
        self.web_app.log_config = LOGGING
        self.web_app.logger = self.logger()

    def logger(self):
        return logging.getLogger('sanic')

    def create_app(self):
        return self.web_app


@app.route('/')
async def get(request):
    current_app = request.app
    current_app.logger.debug('111111111111111111111111111111111111111111111111111111111111111111')
    return json({1: 2})

if __name__ == '__main__':
    app = sanic().create_app()
    app.run(debug=True)
```
#### 继承一个sanic的类,然后给他一个logging的属性。这样就可以像FLask一样的使用了

© 著作权归作者所有

FenG_Vnc
粉丝 10
博文 24
码字总数 11100
作品 0
深圳
其他
私信 提问
基于sanic打造python web框架

版权声明:本文为Doctorq原创文章,未经博主允许不得转载。 https://blog.csdn.net/qhshiniba/article/details/88244732 0x00 Why 为何做这件事,在去年的一个项目中,算法同学要使用在线模型...

Q博士
03/06
0
0
SanicDB:简化 Python 异步 Web 框架 Sanic 操作 MySQL

SanicDB 是为 Python 的异步 Web 框架 Sanic 方便操作 MySQL 而开发的工具,是对 aiomysql.Pool 的轻量级封装。Sanic 是异步IO的Web框架,同时用异步IO读写MySQL才能更大发挥它的效率。虽然这...

呆木木人儿
03/19
0
0
使用Sanic开发快速异步响应的Web程序

python学习笔记整理于猿人学网站的python教程和python爬虫 Sanic是一个类似Flask、仅仅支持Python 3.5+ 版本的web 服务器,旨在运行速度更快。在类似Flask的基础上,Sanic支持异步请求处理,...

呆木木人儿
03/05
0
0
最快的 Python Web 框架入门

摘要:sanic是一款用 python3.5+ 写的 web framework,用法和 flask 类似,特点是非常快 。Github 地址:https://github.com/channelcat/sanic 速度比较 安装 环境:python3.5+ python -m pi...

Prasanta
2017/12/14
0
0
网络小说搜索引擎--owllook

网络小说搜索引擎 — owllook 是一个基于其他网站的垂直小说搜索引擎,至于为什么写这个,一个是想利用尽量做成异步服务,二是想就此练习下推荐系统,顺便作为毕业设计。 如果将本项目部署并...

xiaozizayang
2017/05/14
876
0

没有更多内容

加载失败,请刷新页面

加载更多

NIO基于长度域的报文在Netty下的解码

1, 先复习一下粘包/拆包 1.1, 粘包/拆包的含义 TCP是个“流”协议, 并不了解上层业务数据的具体含义, 它会根据TCP缓冲区的实际情况进行包的划分,所以在业务上认为,一个完整的包可能会被TCP...

老菜鸟0217
今天
8
0
从零开始搭建spring-cloud(2) ----ribbon

在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。 其实我们已经在上...

Vincent-Duan
今天
19
0
get和post的区别?

doGet:路径传参。效率高,安全性差(get的传送数据量有限制,不能大于2Kb) doPOST:实体传参。效率低,安全性好 建议: 1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Pos...

花无谢
昨天
4
0
当谈论迭代器时,我谈些什么?

当谈论迭代器时,我谈些什么? 花下猫语:之前说过,我对于编程语言跟其它学科的融合非常感兴趣,但我还说漏了一点,就是我对于 Python 跟其它编程语言的对比学习,也很感兴趣。所以,我一直...

豌豆花下猫
昨天
14
0
10天学Python直接做项目,我做了这5件事

初学者如何尽快上手python? 市面上关于如何学python的资料很多,但是讲的都太复杂。 我就是很简单的几句话,从小白到开发工程师,我只做了五件事。 我觉得任何商业计划书如果不能用几句话讲...

Python派森
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部