python logging模块默认日志,python的logging模块详解

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: