用于在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如何使用Ibatis在插入时返回ID(使用返回关键字)   java(org.hibernate.TransactionException)org。冬眠TransactionException:事务未成功启动   java小程序jwindow始终位于JNLP顶部   在Java中重新解析JSON对象?   java单击后将ListView数据移动到新屏幕   Mule ESB中的java WSA寻址特性   Java,对象编程:获取返回0值的方法   hibernate的Java通用问题,如何处理T get(K id)   java在使用超级CSV读取CSV时忽略引用   ssh使用Java远程运行命令   java如何向具体用户发送websocket消息?   在JAVA中,我可以在不指定的情况下使用条件运算符吗?