Python-标准库(常⽤模块)⼀.logging模块logging翻译为⽇志记录那问题是什么是⽇志?⽇志实际上是⽇记的⼀种,⽤于记录某个时间点发⽣了什么事情,⽐如⼤学⽼师的教学⽇志,⼯作⽇志等为什么要记录⽇志?在实际⽣活中记录⽇志主要为了⽇后复查,⽐如某个⼤学⽼师每天记录⾃⼰讲的什么内容,后⾯有学⽣某科成绩优异获奖了,校长想要奖励对应的⽼师,但由于每个⽼师教的班级都很多,并不⼀定记得是谁教的,这时候就可以查看教学⽇志来获取需要的信息了再⽐如,⼯⼚的⽣产⽇志,如果某个产品除了因为某个零件出现了故障,通过⽣成⽇志,可以找到与这个产品同批次的其他产品,进⾏返⼯,或是通过⽇志找到该零件的供应商,进⾏沟通解决!程序中的⽇志我们的程序开发完成后会被不同系统环境的⽤户下载使⽤,期间可能就会出现问题,直接把错误信息展⽰给⽤户看是没有任何意义的,⽤户看不懂也不会解决,那这时候就可以将⽤户执⾏的所有操作,以及代码运⾏的过程,记录到⽇志中,程序员通过分析⽇志内容,可以快速的定位问题综上:⽇志就是⽤来记录发⽣的事件的⽇志并不会⽴即产⽣作⽤,⽽是当程序出现了问题时在去分析⽇志⽂件提取有⽤信息什么是logging模块logging模块是python提供的⽤于记录⽇志的模块为什么需要logging我们完全可以⾃⼰打开⽂件然后,⽇志写进去,但是这些操作重复且没有任何技术含量,所以python帮我们进⾏了封装,有了logging后我们在记录⽇志时只需要简单的调⽤接⼝即可,⾮常⽅便!⽇志级别在开始记录⽇志前还需要明确,⽇志的级别随着时间的推移,⽇志记录会⾮常多,成千上万⾏,如何快速找到需要的⽇志记录这就成了问题解决的⽅案就是给⽇志划分级别logging模块将⽇志分为了五个级别,从⾼到低分别是:1.info常规信息2.debug调试信息3.warning警告信息4.error错误信息5.cretical严重错误本质上他们使⽤数字来表⽰级别的,从⾼到低分别是10,20,30,40,50logging模块的使⽤#1.导⼊模块importlogging#2.输出⽇志logging.info("info")logging.debug("debug")logging.warning("warning")logging.error("error")logging.critical("critical")#输出WARNING:root:warning#输出ERROR:root:error#输出CRITICAL:root:critical我们发现info和debug都没有输出,这是因为它们的级别不够,默认情况下:logging的最低显⽰级别为warning,对应的数值为30⽇志被打印到了控制台⽇志输出格式为:级别⽇志⽣成器名称⽇志消息如何修改这写默认的⾏为呢?,这就需要我们⾃⼰来进⾏配置⾃定义配置importlogginglogging.basicConfig()"""可⽤参数filename:⽤指定的⽂件名创建FiledHandler(后边会具体讲解handler的概念),这样⽇志会被存储在指定的⽂件中。filemode:⽂件打开⽅式,在指定了filename时使⽤这个参数,默认值为“a”还可指定为“w”。format:指定handler使⽤的⽇志显⽰格式。datefmt:指定⽇期时间格式。level:设置rootlogger(后边会讲解具体概念)的⽇志级别"""#案例:logging.basicConfig(filename="aaa.log",filemode="at",datefmt="%Y-%m-%d%H:%M:%S%p",format="%(asctime)s-%(name)s-%(levelname)s-%(module)s:%(message)s",level=10)格式化全部可⽤名称%(name)s:Logger的名字,并⾮⽤户名,详细查看%(levelno)s:数字形式的⽇志级别%(levelname)s:⽂本形式的⽇志级别%(pathname)s:调⽤⽇志输出函数的模块的完整路径名,可能没有%(filename)s:调⽤⽇志输出函数的模块的⽂件名%(module)s:调⽤⽇志输出函数的模块名%(funcName)s:调⽤⽇志输出函数的函数名%(lineno)d:调⽤⽇志输出函数的语句所在的代码⾏%(created)f:当前时间,⽤UNIX标准的表⽰时间的浮点数表⽰%(relativeCreated)d:输出⽇志信息时的,⾃Logger创建以来的毫秒数%(asctime)s:字符串形式的当前时间。默认格式是“2003-07-0816:49:45,896”。逗号后⾯的是毫秒%(thread)d:线程ID。可能没有%(threadName)s:线程名。可能没有%(process)d:进程ID。可能没有%(message)s:⽤户输出的消息⾄此我们已经可以⾃⼰来配置⼀写基础信息了,但是当我们想要将同⼀个⽇志输出到不同位置时,这些基础配置就⽆法实现了,例如有⼀个登录注册的功能需要记录⽇志,同时...