一个用于简单详细记录、错误和警告的包。
项目描述
帕帕伊
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-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 09d3c6fd06d5a429976da8ae5864b0c4c28affeab0f03dac47c7ad3f07032b33 |
|
| MD5 | faab08462252e5874735fba13af25531 |
|
| 布莱克2-256 | c7c43ae9d063f084fde7af8bc519fae07434740a5a8b6b9433a96d7b511bf7e5 |