常见内置模块以及方法
Posted sr-program
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常见内置模块以及方法相关的知识,希望对你有一定的参考价值。
一:logging模块
(1)日志模块
(1)debug:调试信息
(2)info: 程序运行输出的信息
(3)warning:程序告警信息
(4)error:程序错误信息
(5)critical:严重错误
(2)日志等级:
(1)debug:level = 10
(2)info: level = 20
(3)warni:level = 30
(4)error:level = 40
(5)critical:level = 50
(3)打印方式:
(1)默认为打印到终端:默认打印到终端
(2)打印实例
logging.debug(‘打印debug‘) logging.info(‘打印info‘) logging.warning(‘打印warning‘) logging.error(‘打印报错‘) logging.critical(‘打印严重错误‘) ‘‘‘ WARNING:root:打印warning ERROR:root:打印报错 CRITICAL:root:打印严重错误 ‘‘‘
PS:输出信息只能输出等级比自己大的 例如warning默认为30 其只能打印(30-50)
(3)logging模块的常规参数:
可在logging.basicConfig()函数中通过具体参数来更改logging模块默认行为,可用参数有 filename:用指定的文件名创建FiledHandler(后边会具体讲解handler的概念),这样日志会被存储在指定的文件中。 filemode:文件打开方式,在指定了filename时使用这个参数,默认值为“a”还可指定为“w”。 format:指定handler使用的日志显示格式。 datefmt:指定日期时间格式。 level:设置rootlogger(后边会讲解具体概念)的日志级别 stream:用指定的stream创建StreamHandler。可以指定输出到sys.stderr,sys.stdout或者文件,默认为sys.stderr。若同时列出了filename和stream两个参数,则stream参数会被忽略。 #格式 %(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-08 16:49:45,896”。逗号后面的是毫秒 %(thread)d:线程ID。可能没有 %(threadName)s:线程名。可能没有 %(process)d:进程ID。可能没有 %(message)s:用户输出的消息
配置实例:
logging.basicConfig(filename=‘access.log‘, # 设置接收文件 format=‘%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s‘, # 文件格式 datefmt=‘%Y-%m-%d %H:%M:%S %p‘, # 文件时间 %p 显示上下午 level=10) # 日志等级 logging.debug(‘调试debug‘) logging.info(‘消息info‘) logging.warning(‘警告warn‘) logging.error(‘错误error‘) logging.critical(‘严重critical‘)
PS:不能同时在终端 以及文件中接收日志 且在文件中日志会乱码 因为pycharm默认使用utf-8编码 而保存到文件夹中以自己系统为编码格式
例如:
logging.basicConfig(filename=‘access.log‘, # 设置接收文件 format=‘%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s‘, # 文件格式 datefmt=‘%Y-%m-%d %H:%M:%S %p‘, # 文件时间 %p 显示上下午 level=10, # 日志等级 stream = sys.stdout) # 输出到终端 # ValueError: ‘stream‘ and ‘filename‘ should not be specified together logging.debug(‘调试debug‘) logging.info(‘消息info‘) logging.warning(‘警告warn‘) logging.error(‘错误error‘) logging.critical(‘严重critical‘) ‘‘‘ 2019-07-19 20:01:40 PM - root - DEBUG -day17: ????debug 2019-07-19 20:01:40 PM - root - INFO -day17: ???info 2019-07-19 20:01:40 PM - root - WARNING -day17: ????warn 2019-07-19 20:01:40 PM - root - ERROR -day17: ????error 2019-07-19 20:01:40 PM - root - CRITICAL -day17: ????critical ‘‘‘
以上是关于常见内置模块以及方法的主要内容,如果未能解决你的问题,请参考以下文章