'''
import requests
data = {"key1": "val1", "key2": "val2"}
res = requests.get(url="http://httpbin.org/get", params=data)
pprint.pprint(res.json())
日志
去服务器直接看日志
tail -f xxx.log | grep "text" | tee -a text.txt
一、日志的作用
1、记录程序执行的过程
2、通过日志来还原用户的操作
二、日志的一些要素
1、输出时间
2、日志的级别
3、日志的格式
4、日志的内容
5、日志的渠道(日志输出的位置)
三、日志级别
debug(调试) < info(程序正常运行输出的日志) < warning(警告) < error(程序运行报错) < critical(程序崩溃)

四、创建一个日志收集器
1、创建日志收集器
2、创建日志收集渠道
3、创建日志的格式
4、渠道绑定日志的格式
5、日志收集期设置日志级别
6、给日志收集器绑定渠道
五、日志格式
    %(name)s:日志收集渠道的名称
    %(levelno)s:日志级别对应的数值
    %(levelname)s:日志级别的名称("DEBUG", "INFO","WARNING", "ERROR", "CRITICAL")
    %(pathname)s:输出日志的文件的绝对路径
    %(filename)s:输出日志的py文件的名称(有.py的后缀)
    %(module)s:输出日志的py文件的名称(没有.py的后缀)
    %(lineno)d:输出日志的行数
    %(funcName)s:输出日志的函数名称,如果不是函数输出的,那输出的就是py文件的名称,相当于%(module)s
    %(created)f:日志输出的时间,格式为时间戳,相当于time.time()
    %(asctime)s:日志输出的时间,格式(年-月-日 时:分:秒,毫秒)
    %(msecs)d:日志输出时间的毫秒
    %(relativeCreated)d:日志输出的相对时间
    %(thread)d:输出日志的线程id
    %(threadName)s:输出日志的线程名称
    %(process)d:输出日志的进程id
    %(message)s:日志内容
'''
import logging

# 设置默认的日志级别,默认是root收集器的日志级别
# logging.basicConfig(level=logging.DEBUG)
# 1、创建日志收集器
py48 = logging.getLogger(name="py48")
# 2、创建日志收集渠道
# 控制台
pycharm = logging.StreamHandler()
# 3、创建日志的格式
# 时间-渠道名称-日志级别的名称-输出日志文件的绝对路径-函数名称-日志信息
fmt = "【%(asctime)s-%(name)s-%(levelname)s-%(pathname)s-%(funcName)s】>>>:%(message)s"
pycharm_fmt = logging.Formatter(fmt=fmt)
# 4、渠道绑定日志的格式
pycharm.setFormatter(fmt=pycharm_fmt)
# 5、日志收集期设置日志级别
py48.setLevel(level=logging.DEBUG)  # 日志收集器设置日志级别
# pycharm.setLevel(level=logging.DEBUG)#渠道的日志级别
# 6、给日志收集器绑定渠道
py48.addHandler(pycharm)
py48.info(msg="这里是日志信息1")
py48.info(msg="这里是日志信息2")
py48.info(msg="这里是日志信息3")