Python日志_logging_basicConfig()函数各个参数说明、日志方法封装与使用

本文介绍Python中使用logging模块记录日志的方法,包括配置日志级别、格式及如何将日志输出到文件。通过实例展示了异常捕获并记录的完整过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

log技术_logging_basicConfig()函数_在日志文件中记录异常
一、参数说明
1、logging.basicConfig()函数各参数说明

1、filename:指定日志文件名;
2、filemode:和file函数意义相同,指定日志文件的打开模式,'w'或者'a';
3、format:指定输出的格式和内容,format可以输出很多有用的信息;
4、level:日志级别

2、format 参数说明

参数                     作用
%(levelno)s             打印日志级别的数值
%(levelname)s           打印日志级别的名称
%(pathname)s            打印当前执行程序的路径,其实就是sys.argv[0]
%(filename)s            打印当前执行程序名
%(funcName)s            打印日志的当前函数
%(lineno)d              打印日志的当前行号
%(asctime)s             打印日志的时间
%(thread)d              打印线程ID
%(threadName)s          打印线程名称
%(process)d             打印进程ID

3、日志级别

log.debug('调试')
log.info('信息')
log.warning('警告')
log.error('错误')
log.critical('糟糕')

4、日志设置

1、存放路径
2、日志文件名
3、内容格式:format
    2020_10_14.21.34.24 - logBasic.py [代码错误的行号] 级别:具体内容执行时间 文件名 【报错行号】 等级 msg(具体信息)

2、Python 代码 把日志写到文件里(封装log方法)

import logging  # logging默认打印warning以上级别的信息
from datetime import datetime
import time
import traceback  # 将原始报错的信息返回出来

def logger():
    logging.basicConfig(format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s',
                        filename=f'./{datetime.now().strftime("%Y-%m-%d-%H.%M.%S")}.txt',
                        level=logging.INFO,
                        filemode='a+')
    return logging


if __name__ == '__main__':
    log = logger()
    log.error('---hello---')

    try:
        input = int(input('请输入一个整数:'))
        print(1/input)
    except:  # 捕获所有的异常
        # 返回时间和原始报错信息
        log.error(time.strftime('%y-%m-%d %H:%M:%S')+traceback.format_exc() + '-------------- \n')


# 生成的日志文件内容如下:
# 2022-07-02 12:52:49,361 - log����_logging_basicConfig������������˵��.py[line:60] - ERROR: ---hello---
# 2022-07-02 12:52:53,042 - log����_logging_basicConfig������������˵��.py[line:67] - ERROR: 22-07-02 12:52:53Traceback (most recent call last):
#   File "F:/4-Project/Project_�����/�ܽ�_Python֪ʶ��/03_log����_�쳣��־/log����_logging_basicConfig������������˵��.py", line 63, in <module>
#     input = int(input('������һ��������'))
# ValueError: invalid literal for int() with base 10: '1.1'
# --------------
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢同学.

但行好事 莫问前程

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值