python logging模块默认日志,python的logging模块详解
python包和logging日志
一、包
包:带有__init__的包。文件夹中的py文件用于管理多个模块。
包的结构如下:
烤
__init__。巴拉圭
api
__init__。巴拉圭
政策. py
版本. py
cmd
__init__。巴拉圭
管理. py
数据库
__init__。巴拉圭
模型. py在烘焙的同一级别创建一个test.py,并将其导入到策略. py中:
导入bake.api.policy
bake.api.policy.get()
#导入的名称太长。可以别名。
将bake.api.policy作为p导入
p.get()
#from import在__init__中被修改。巴拉圭
从。进口政策
#我们需要将当前路径添加到策略文件中的sys.path
导入操作系统
导入系统
sys . path . insert(OS . path . dirname(_ _ file _ _))
#print(__file__)看看吧
# Use __all__,in __init__。巴拉圭
__all__=[policy]
#或者
从。导入策略摘要:
进口。包裹。包裹
从包装。包裹。包导入模块
路径:
绝对:从外层导入。
相对:从当前导入(。)或来自父代(.)
使用相对路径时,它必须在包的最外层,并且在同一级别。
来自导入的包*
__init__.py中需要操作。
Python 2:导入文件夹(不带__init__。py)将报告一个错误
Python 3:导入文件夹(不带__init__。py)不会报告错误
相关:《Python视频教程》
二、logging模块
日志模块用于记录软件的各种状态、事务记录、错误记录、登录记录.
1.函数式简单配置:
导入日志记录
logging.debug(“调试消息”)
logging.info(“信息消息”)
logging.warning(“警告消息”)
logging.error(“错误消息”)
伐木。critical (critical message )默认情况下,python的日志模块会将日志打印到标准输出,并且只显示警告级别或更高级别的日志,证明默认级别是警告。
日志级别:严重错误警告信息调试
2.灵活配置日志级别,日志模式,输入位置(低配版)
只能写入日志,不能在公共屏幕上输出。
导入日志记录
logging . basic config(level=logging。调试,
format= %(as time)s %(filename)s[line :%(line no)d]%(level name)s %(message)s ,
date fmt= % Y-% m-% d % h :% m :% S ,
文件名=test.log ,
filemode=a )
dic={key:123}
log ing . debug(DIC)
数量=100
Logging.info(f 用户余额:{num-50} )
尝试:
Num=int(输入(请输入一个数字:))
e:除外
logging.warning(e )
logging.error(“错误消息”)
日志记录。关键(“关键消息”)basicConfig()函数中可通过具体参数来更改logging模块默认行为,可用参数有:
Filename:用指定的文件名创建一个FiledHandler,以便将日志存储在指定的文件中。
Filemode:文件打开方法。当指定filename时,使用此参数。默认值为“A”或“W”。
Format:指定处理程序使用的日志显示格式。
Datefmt:指定日期时间格式。
级别:设置日志记录的级别。
Stream:用指定的流创建StreamHandler。您可以指定输出到
Sys.stderr、sys.stdout或file (f=open (test.log , w )),默认值为sys.stderr。如果同时列出了文件名和流参数,则流参数将被忽略。
format参数中可能用到的格式化串:
%(name)的记录器的名称。
%(levelno)s数字形式的日志级别
%(levelname)的日志级别,以文本形式显示
%(pathname)s调用日志输出函数的模块的完整路径名,该函数可能不可用。
%(filename)s调用日志输出函数的模块的文件名。
%(module)s调用日志输出函数的模块名。
%(funcName)s调用日志输出函数的函数名
%(lineno)d调用日志输出函数的语句所在的代码行。
%(created)f当前时间,用UNIX标准的浮点数表示。
%(relativeCreated)d输出日志信息时,自记录器创建以来的毫秒数。
%(asctime)s字符串形式的当前时间。默认格式为“2003-07-08 16:49:45,896”。逗号后面是毫秒。
%(thread)d线程ID。大概不会。
%(threadName)的线程名称。大概不会。
%(process)d进程ID。大概不会。
%(消息)s用户输出的消息
3.logger对象配置(中配版)
导入日志记录
logger=logging.getLogger()
# 创建一个记录器
fh=日志记录FileHandler(test.log ,mode=a ,encoding=utf-8) #文件
ch=记录StreamHandler() #屏幕
格式化程序=记录formatter( %(asctime)s-%(name)s-%(filename)s-[line :%(行号)d]-%(级别名)s-
%(消息)秒)
# 将屏幕和文件都是用以上格式
logger.setLevel(日志记录。调试)
# 设置记录级别
fh.setFormatter(格式化程序)
# 使用自定义的格式化内容
ch.setFormatter(格式化程序)
logger.addHandler(fh) #logger对象可以添加多个消防栓(消防栓的缩写)和荣誉勋爵对象
logger.addHandler(ch)
logger.debug(logger调试消息)
伐木工。信息("记录器信息消息")
logger.warning(logger警告消息)
logger.error(logger错误消息)
伐木工。关键("记录器关键消息")以上就是大蟒包和记录日志的相关介绍的详细内容,更多请关注盛行信息技术软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。