Skip to main content

一个用于简单详细记录、错误和警告的包。

项目描述

帕帕伊

Papagei 是一个提出详细日志记录实现的模块。Python 具有执行详细日志记录、错误警告和错误处理等选项。但是,通常隐含多个包,并且实现所需的消息可能需要多行代码。Papagei 试图创建一个模块,该模块允许以简单的方式进行详细日志记录,而无需导入多个包导入,并且每次调用的代码行数最少。尽管相当简单,但 papagei 的缺点是更加严格。它适用于简单的案例和调试。对于更复杂的错误处理或消息格式,您可能希望回到 python 内置函数和包。

使用纸巾

papagei 包含三个主要组件:

  • VerboseLevel(Enum) (类)
  • VERBOSE(VerboseLevel 类型的对象)
  • 显示功能

VerboseLevel 和详细:

在这个实现中,papagei 有 6 个详细级别:

  • SILENT:不会显示任何内容,不会引发任何错误,不会返回任何警告。
  • 错误:只显示 mock_errors()。像往常一样引发错误。
  • 警告:错误的行为与往常一样,警告和模拟警告也是如此。
  • INFO:来自先前级别的所有消息以及信息消息。
  • DEBUG:来自先前级别的所有消息以及调试消息。
  • FRIVOLOUS:之前级别的所有消息加上轻率消息。

可以使用 VERBOSE 变量和 VerboseLevel 枚举来设置详细级别。例如:

VERBOSE = VerboseLevel.INFO

注意:由于其简单的实现,papagei 中的详细级别仅适用于 papagei 包中的函数。换句话说,将 papagei.VERBOSE 设置为静默不会消除在 papagei 包之外引发的错误,不会实现任何警告过滤器来取消来自 papapgei 模块外部的警告,也不会消除在外部完成的任何 print() papagei 模块。

功能

所有功能都链接到特定的调试级别。ERROR 级别和 WARNING 级别有两个功能可用。一个使用实际的 python 警告和错误,另一个(前面是“mock_”)只在控制台中打印一条消息,而不会中断程序的运行。

  • error(*args): (Level: ERROR) 将 args 格式化为字符串并使用它来引发错误。
  • mock_error(*args): (Level: ERROR) 将 args 格式化为字符串并以类似错误的格式打印出来。
  • 警告(*args,**kwargs):(级别:警告)将参数格式化为字符串并使用它来生成警告。警告类型可以通过关键字'type'传递一个Waring类来改变。显示警告并由函数返回警告对象。
  • mock_warning(*args):(级别:WARNING)将 args 格式化为字符串并将其显示为类似警告的格式。
  • info(*args): (Level: INFO) 将 args 格式化为字符串,并将其显示为特定的信息格式。
  • debug(*args):(级别:DEBUG)将 args 格式化为字符串,并将其显示为特定的调试格式。
  • frivolity(*args):(级别:FRIVOLOUS)将 args 格式化为字符串,并将其显示为特定的 frivolity-format。

例子

from papagei import papagei as ppg
ppg.VERBOSE = ppg.VerboseLevel.DEBUG

ppg.debug('This is example', 1)  # This message will show
ppg.frivolity('This is example', 2)  # This won't show

注意: import 语句有一点冗余。这应该稍后修复。

修改源代码

即使无法从包外部添加类,源代码的制作方式也应该使添加、删除、移动或重新格式化类变得容易。

重新格式化类

类的格式化是通过 text_format 字典完成的。字典的值被添加到相应级别的每个字符串之前以对其进行格式化。更改此字典中的值以更改格式。text_header 字典也是如此,它在消息的开头显示标题。

添加、删除或移动类

要在层次结构中移动一个类,只需更改其在 VerboseLevel(Enum) 枚举中的位置即可。此枚举是自动编号的,因此移动它将适应项目的值,并且每个函数中的检查都将适应。要添加项目,应在枚举中添加相应的 VerboseLevel。然后应该更新 text_format 和 text_header 字典。最后,可以在模型 debug、info 或 frivolity 上编写新级别的专用函数,使用 _format_string_from_tuple(string_tuple) 将 *args 格式化为单个字符串。可以反向执行相同的过程来删除一个类。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

papagei-niederha-0.0.2.tar.gz (4.4 kB 查看哈希)

已上传 source

内置分布

papagei_niederha-0.0.2-py3-none-any.whl (5.6 kB 查看哈希

已上传 py3