python-日志收集器

import pprint

“”"
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 “test” | 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 :输出日志的文件的绝对路径(有.py后缀)
%(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 :日志内容

六、使用:
try:
py48.debug(msg=“这里是日志信息2”)
py48.info(msg=“这里是日志信息3”)
except Exception as e:
py48.error(msg=“hhhh”)
“”"
import logging
from logging import handlers

#设置默认的日志级别(root收集器的日志级别)

logging.basicConfig(level=logging.DEBUG)

1、创建日志收集器

py48 = logging.getLogger(name=“py48”)

2、创建日志收集渠道

#控制台
pycharm = logging.StreamHandler()
#文件xxxx.log,一直往一个文件里面写

file = logging.FileHandler(filename=“py48.log”,mode=“w”)

#日志切割,秒、分、时、日、月、周
#filename:文件名称(如果不是当前路径要带上路径) D:\vip_class\py48\day19\test.log
#when=‘h’: 日志滚动周期(切割周期) H: 小时 S:秒 D:日 W: 周 M: 分
#interval:when 的单位
#encoding=“utf-8”:兼容中文

backupCount:保留多少个日志文件,自动删除掉之前的文件,一般不用

file = handlers.TimedRotatingFileHandler(filename=“test.log”,when=“D”,interval=1,encoding=“utf-8”)

3、创建日志格式

时间-渠道名称-日志级别名称-输出日志文件的绝对路径-函数名称-日志信息

fmt = “【%(asctime)s-%(name)s-%(levelname)s-%(pathname)s-%(funcName)s-%(lineno)d】>>>:%(message)s”
pycharm_fmt = logging.Formatter(fmt=fmt)

4、渠道绑定日志格式

pycharm.setFormatter(fmt=pycharm_fmt)
file.setFormatter(fmt=pycharm_fmt)

5、日志收集器设置日志级别

#收集器>>> 收集某个级别的日志
#渠道>>> 去收集器中过滤渠道需要的日志级别的日志,然后输出
#渠道的日志级别要比收集器的日志级别要高
#如果只设置日志收集器的日志级别,渠道会继承日志收集器的日志级别
py48.setLevel(level=logging.DEBUG) #日志收集器设置日志级别

pycharm.setLevel(level=logging.DEBUG) # 渠道日志级别

file.setLevel(level=logging.INFO) # 渠道日志级别

6、给日志收集器绑定渠道

py48.addHandler(pycharm)
py48.addHandler(file)

py48.debug(msg=“这里是日志信息1”)
py48.debug(msg=“这里是日志信息2”)
py48.info(msg=“这里是日志信息3”)
py48.error(msg=“hhhh”)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值