Python错误日志

Python错误日志的写入方法

目录:
#1 第三方库下载
#2 代码原理
#3 完整代码分享
#4 效果展示

  1. 第三方库
    Traceback 库

    Win+R打开"运行"
    输入"CMD"
    在运行台输入以下代码
    
    'pip install traceback'
    
    即可下载此第三方库
    
  2. 原理

    代码'traceback.format_exc()'可获取出错的原因
    
    代码'datetime.datetime.now()'可获取当前时间
    	以便给日志命名
    
  3. 完整代码

    #-*- coding:utf-8 -*-
    # author:ANLIN
    
    #此代码建议用在try;except后
    #用于写入错误日志
    
    #导入必要库
    import os,datetime
    #导入获取错误库
    import traceback
    
    #获取错误原因
    Error = str(traceback.format_exc())
    #打印错误原因
    print(Error)
    '''
    为什么? Why?
    因为如果此代码用在try后将不会报错
    所以需要打印错误原因才能在控制台通知错误
    '''
    
    #获取当前时间:
    #格式:”年-月-日 时:分:秒.毫秒”
    when = datetime.datetime.now()
    
    #对获取的时间进行处理:
    
    time_list = str(when).split(' ')
    #将获取到的字符串以空格拆分成[日期,时间]
    
    time_second = time_list[1].split('.')[0]
    #获取列表中的时间变量[1]以”.”拆分字符串,去除毫秒,获取第零索引
    '''
    为什么? Why?
    对人们来说,往往时间不必精确到毫秒
    但是对计算机来说,它就会获取现在精准时间获取了毫秒,甚至微秒
    我们不需要,所以需要将”.”后的所有部分去除
    '''
    
    time_second = time_second.split(':')
    #以”:”将字符串拆分成[时,分,秒]
    
    time_second = '-'.join(time_second)
    #以”-“组合列表
    '''
    为什么? Why?
    因为获取到的时间字符串包含”.”和”:”
    而文件名中不能包含”.”和”:”,所以要进行处理
    以”-“来代替”.”和”:”
    '''
    
    #日志名
    file_name = '%s_%s_ErrorLog.log'%(time_list[0],time_second)
    
    #创建Log文件夹
    Log_dir = 'Log'
    #检测文件夹是否存在,不存在则创建
    if not os.path.exists(Log_dir):
        os.mkdir(Log_dir)
    
    
    #写入错误原因,构成错误日志
    with open(Log_dir+'\\%s'%file_name, 'w',coding = 'utf-8') as SaveLog:
        #写入字符串,更改后可以改变日志内容
        SaveLog.write('Error:%s\n'%when+Error)
    
    
  4. 代码效果

    主代码 test.pyw主代码

    保存错误日志.py保存错误日志

    运行后效果
    运行后效果

    同目录文件夹
    出现’Log’文件夹 并 创建了log文本
    同目录文件夹

    文本内容
    基本与打印内容相似文本内容

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值