用于在structlog(或类似接收器)顶部进行作用域日志记录的库

scopedlog的Python项目详细描述


linux test status

范围日志

structlog(或类似的接收器)顶部进行作用域日志记录的库,其灵感来自于一个显然已失效的lithoxyl。请注意,我(kshpytsya)并没有仔细研究实际的lithoxyl实现,以保持头脑清醒。

下面是一个示例:

importcontextlibimportstructlogimportstructlog.stdlibimportstructlog.devimportstructlog.processorsimportscopedlogimportscopedlog.sink_structlogimportscopedlog.idgen_seqstructlog.configure(processors=[structlog.stdlib.add_log_level,structlog.processors.ExceptionPrettyPrinter(),structlog.dev.ConsoleRenderer()])slog=scopedlog.ScopedLog(sink=scopedlog.sink_structlog.StructlogSink(structlog.get_logger()),id_gen=scopedlog.idgen_seq.GlobalSeqScopeIdGenenerator())withcontextlib.suppress(RuntimeError):withslog.info("scope1",k1=1)assl:sl.debug("state1",k2=2,k3=3)sl.info("state1",k4=4)sl.warn("state1",k5=5)raiseRuntimeError("bad one")withcontextlib.suppress(RuntimeError):withslog.debug("scope2",k1=1)assl:sl.debug("state1",k2=2,k3=3)sl.info("state1",k4=4)sl.warn("state1",k5=5)raiseRuntimeError("bad too ;)")withslog.debug("scope3")assl:sl.fail()withslog.debug("scope4")assl:sl.exit_kw["k1"]=1

以及预期产量:

有关更多示例,请参见tests

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

推荐PyPI第三方库


热门话题
java连接usb到uart设备到安卓设备>3.1   可以强制Php中的web应用程序与Java中的桌面应用程序一起工作吗?   java为什么自定义系统类加载器不工作?   数组在Java中解析具有多个分隔符的字符串   PMD Java 8德米特定律   JavaSpringMVC表单验证不适用于嵌套的复杂类型   让Eclipse Java组织导入以使用Google checkstyle   java Appium:无法创建新会话   java如何在数组中声明新字段   java如何解决“无法初始化类org.apache.cassandra.config.DatabaseDescriptor”?   java AsyncTask创建socket   java向@CreatedBy添加更多信息   如何在ubuntu中运行包含大量jars依赖项的java文件   java如何使用<s:select>标记并在中休眠来填充下拉列表?   java获取错误:找不到符号变量“level”和“next_level_button”   javaweb应用中基于UI的ajax显示代码流   Java长到MySql   java JvisualVM:奇怪的应用程序行为   ubuntu将Java程序的输出结果保存到一个文件中