码迷,mamicode.com
首页 > 其他好文 > 详细

常见内置模块以及方法

时间:2019-07-19 21:04:16      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:file   asc   roo   终端   created   方法   更改   ade   bug   

一: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模块的常规配置

配置实例:

技术图片
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
 ‘‘‘
错误情形

 

常见内置模块以及方法

标签:file   asc   roo   终端   created   方法   更改   ade   bug   

原文地址:https://www.cnblogs.com/SR-Program/p/11215506.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!