日志模块

mac2022-06-30  71

### 打印日志基本操作 ###

#log 的级别

debug、info、warning、error、critiacl(优先级从低到高,当指定打印一个优先级时,则控制台只打印/保存 >= 该优先级的日志)

#只在控制台打印日志

import logging

logging.basicConfig(level=logging.ERROR,   #控制台打印的日志级别           format='%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s'           #日志格式         )

logging.debug('debug级别,最低级别,一般开发人员用来打印一些调试信息')logging.info('info级别,正常输出信息,一般用来打印一些正常的操作')logging.warning('waring级别,一般用来打印警信息')logging.error('error级别,一般用来打印一些错误信息')logging.critical('critical级别,一般用来打印一些致命的错误信息')

 

### 保存log 到文件中 ###

在 logging.basicConfig 添加代码:

filename = '保存日志文件名'   #所要保存的日志文件名

filemode = '日志的写入格式'   # w:覆盖写入;a:追加写入(不写filemode 的话默认追加写入)

 

### 既保存日志,又能在控制台打印 ###

# 1、办公室# 2、负责往控制台里面输出日志信息的# 3、往日志文件里面写日志的,按天生成日志,清理日志

import loggingfrom logging import handlers

logger = logging.getLogger()       #先实例化一个logger对象,先创建一个办公室logger.setLevel(logging.DEBUG)    #设置日志的级别的人cl = logging.StreamHandler()      #负责往控制台输出的人bl = handlers.TimedRotatingFileHandler(filename='a.log',when='S',interval=1,backupCount=5,encoding='utf-8')     #interval:间隔;backupCount:总共备份几个日志    # when,按什么单位       # S 秒       # M 分       # H 小时、       # D 天、       # W 每星期(interval==0时代表星期一)

fmt = logging.Formatter('%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s')cl.setFormatter(fmt)     #设置控制台输出的日志格式bl.setFormatter(fmt)     设置文件里面写入的日志格式logger.addHandler(cl)     #把已经调教好的人放到办公室里logger.addHandler(bl)     ##把已经调教好的人放到办公室里

#指定日志的格式logger.debug('我是debug。。。')logger.warning('我是waring。。。')

 

#1、先看看,是不是控制台也有了,文件里面也有了,中文也不是乱码了#2、每秒运行一次,看看是不是每秒都会产生一个文件#3、再看看是不是帮你备份5个

 

转载于:https://www.cnblogs.com/lynn-chen/p/9121424.html

最新回复(0)