这是一个日志框架。它基于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第三方库


热门话题
空字符串检查在java中未按预期工作   JavaSpringWebClient:自动计算主体的HMAC签名并将其作为头传递   foreach是否有一个Java等效的foreach循环和一个引用变量?   java如何在Eclipse中导入jar   使用特定第三方或java时lombok触发错误。*方法或构造函数   安卓 java将对象数组转换为int数组   java使一定百分比的JUnit测试通过   java Android:将Seekbar的一个值与另一个值进行比较   java将int数组(图像数据)写入文件的最佳方式是什么   java取代了系统。yml的构造函数内的getProperty   sqlite Java将公钥和私钥转换为字符串,然后再转换回字符串   安卓获取白色像素并将其保存到java opencv中的数组中   java为什么是ServerSocket。setSocketFactory静态?   Java数组似乎在不直接修改的情况下更改值