这是一个日志框架。它基于jk_日志记录,但可以与Asyncio一起使用。

jk-asyncio-logging的Python项目详细描述


异步日志记录

简介

这个python模块。。。在

有关此模块的信息可在以下位置找到:

为什么选择这个模块?在

使用jk_logging有一个日志模块,它允许从基于JSON的描述构造记录器,为日志消息提供缓冲区,并支持分层日志记录。不幸的是,这个特定的模块是同步的,因此不能直接在Asyncio中使用。因此,此实现包装了jk_logging,并提供了一个可在Asyncio中使用的API。在

本模块的局限性

此模块提供包装来自jk_logging的类(几乎所有的类)。它提供了几乎所有的功能,尽管有一个:不支持按层次递减。(这可能有一天会改变,但在不久的将来不会改变。)

如何安装模块

可以使用pip轻松安装此模块。在

使用此命令在系统范围内安装此模块:

$ sudo pip install jk-asyncio-logging

使用以下命令安装特定于用户的此模块:

^{pr2}$

PiPy模块始终与Github存储库保持同步,因此使用PyPi相当于使用Github上提供的代码进行手动安装。在

如何使用此模块

导入此模块

请使用以下代码将此模块包含到您的应用程序中:

importjk_asyncio_logging

构建一个记录器

示例:

log=jk_asyncio_logging.AsyncioConsoleLogger.create(logMsgFormatter=jk_asyncio_logging.COLOR_LOG_MESSAGE_FORMATTER)

这里我们构造了一个控制台记录器(它是一个将日志消息写入STDOUT的对象)。在

使用记录器

您可以创建基于文本的日志消息并将其写入记录器。示例:

awaitlog.debug("This is a test for DEBUG.")awaitlog.notice("This is a test for NOTICE.")awaitlog.info("This is a test for INFO.")awaitlog.warning("This is a test for WARNING.")awaitlog.error("This is a test for ERROR.")

也可以记录异常。示例:

try:awaitlog.notice("Let's try a calculation that will fail ...")a=0b=5/aexceptExceptionasee:awaitlog.error(ee)

什么样的日志对象可用?在

您可以使用以下日志对象:

  • AsyncioBufferLogger-为日志消息实现一个缓冲区,稍后可以将其转发给另一个记录器
  • AsyncioConsoleLogger-实现对标准输出的写入
  • AsyncioFileLogger-实现对文件的写入
  • AsyncioFilterLogger-根据日志级别对日志消息进行过滤
  • AsyncioMulticastLogger-实现将日志消息转发到多个记录器
  • AsyncioNamedMulticastLogger-实现将日志消息转发到多个记录器
  • AsyncioNullLogger-丢弃所有日志消息
  • AsyncioStringListLogger-为日志消息实现一个缓冲区,其中所有日志消息都存储为纯文本字符串

进一步阅读

请参阅test目录以获取所有记录器的详细示例。在

联系方式

这是开源代码。这不仅给了您自由使用此代码的可能性,而且 让你有贡献。请随时与下列软件的作者联系 对于评论、协作请求、改进建议或报告错误:

许可证

本软件根据以下许可证提供:

  • Apache软件许可证2.0

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
MongoDB,Java:以UTC格式检索日期属性   java无法在Azure表实体中创建字节字段   java创建倒计时但显示(x1):00错误   JavaAnt:如何创建不可变的文件集?   java在存储从txt到ArrayList的行时内存不足   java是否可以基于子接口自动生成构造函数?(有或没有龙目山)   java声明泛型   java如何处理selenium中SafariDriver的警报?   javamysqldatasource中的mysql-JDBC   如果计算机关闭,java应用程序创建的XML文件的内容将消失   selenium中的java启动列表<WebElement>   java使用数据库中的名称创建PDF文件   java以编程方式调用注释处理器   Java 2D游戏优化   arraylist使用Java SimpleXml序列化字符串列表,其中列表中的每个元素都是XML中的一个元素