首页
学习
活动
专区
圈层
工具
发布
30 篇文章

六、python学习笔记-模块-loging模块

代码语言:javascript
复制
# loging模块
"""
1、用于日志记录
"""

代码语言:javascript
复制
# 引入模块
import logging

# 日志级别
"""
1、debug和info级别日志默认不打印
"""
# logging.debug('debug log')
# logging.info('info log')
# logging.warning('warning log')
# logging.error('error log')
# logging.critical('critical log')

# 日志基本配置
"""
1、level日志级别
2、format日志格式
    asctime:时间
    filename:当前执行程序名称
    lineno:行号
    levelname:日志级别
    message:日志内容
3、datefmt日志时间格式,不指定默认使用datetime.datetime.now格式
4、filename日志文件名称
5、filemode日志文件打开方式,默认是a
6、日志格式完全是可以自己定义的,不一定非要按照下面格式
7、日志默认在屏幕输出,如果不使用filename='logs',将直接在屏幕打印
"""
logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
                    datefmt='%Y-%m-%d %H:%M:%S',
                    filename='logs',
                    filemode='a')


logging.debug('debug logs')
logging.info('info log')
logging.warning('warning log')
logging.error('error log')
logging.critical('critical log')

代码语言:javascript
复制
# 引入模块
import logging

# 创建logger对象
logger = logging.getLogger()

# 设置,默认级别
logger.setLevel('DEBUG')

# 定义文件输出流
fn = logging.FileHandler('logs')

# 屏幕输出流
cn = logging.StreamHandler()

# 定义格式
formatter = logging.Formatter('%(asctime)s - %(filename)s - %(levelname)s[line:%(lineno)d] - %(message)s',datefmt='%Y-%m-%d %H:%M:%S')

# 指定输出流用哪个格式
fn.setFormatter(formatter)
cn.setFormatter(formatter)

# 将这两种输出方式增加到logger
logger.addHandler(fn)
logger.addHandler(cn)

logger.debug('debug log')
logger.info('info log')
logger.warning('warning log')
logger.error('error log')
logger.critical('critical log')
下一篇
举报
领券