Twiggy日志库的处理程序和帮助程序。

twiggy-goodies的Python项目详细描述


[![变更日志](http://allmychanges.com/p/python/twiggy-goodies/badge/?rnd=1)](http://allmychanges.com/p/python/twiggy-goodies/

在这里你会发现一些有用的插件[twiggy],Python日志。 这些插件有助于在第三方库中使用twiggy 使用standart库的[日志记录][]。

主要目标是创建方便的日志项写入方式 它们按某个请求标识符分组。已经很脆弱了 通过它的fields方法来支持它,但有时它也是 不方便传递记录器对象。这就是为什么我 从[logbook][]中创建线程本地记录器堆栈的想法 为Twiggy实现。

下面是如何使用它的示例:

from twiggy_goodies.setup import setup_logging from twiggy_goodies.threading import log

def some_function():
log.info(‘inner function does not accept logger’) log.info(‘but uses same field as caller’)

setup_logging(None)

log.info(‘before request’)

with log.fields(request_id=’foo’):
log.info(‘bar has happened’) some_function()

log.info(‘after request, id gone’)

输出将如预期的那样:

2014-04-14T18:29:02Z:INFO:before request 2014-04-14T18:29:02Z:INFO:request_id=foo:bar has happened 2014-04-14T18:29:02Z:INFO:request_id=foo:inner function does not accept logger 2014-04-14T18:29:02Z:INFO:request_id=foo:but uses same field as caller 2014-04-14T18:29:02Z:INFO:after request, id gone

同样,可以更改记录器名称,只需替换字段上下文 经理到name

场景后面没有黑暗魔法:

  1. 安装日志记录进行简单的设置并重定向所有输出 从standart日志记录到twiggy。
  2. < <日志> > >对象将所有日志记录方法委托给最高点 线程本地堆栈上的记录器。
  3. 字段名称上下文管理器只需创建一个新的 作为原始Twiggy方法的logger并将其放在线程本地 堆叠。

就这样。

其他一些糖果

  • twiggy_goodies.syslog contains SysLogOutput.
  • twiggy_goodies.json contains JsonOutput, useful to pass data to logstash.
  • twiggy_goodies.logstash contains LogstashOutput, which sends messages directly to Logstash’s UDP port.
  • twiggy_goodies.django_rq contains job decorator, which groups all messages logged from one task, using UUID.
  • twiggy_goodies.django contains LogMixin class which could be mixed to any management command, to group all logged messages by single UUID.
  • twiggy_goodies.django also contains LogMiddleware, to do the same as LogMixin, but for each http request.

[细枝]:https://github.com/wearpants/twiggy [日志记录]:https://docs.python.org/2/library/logging.html [行车日志]:http://pythonhosted.org//Logbook/

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

推荐PyPI第三方库


热门话题
java如何在表被注释到配置之前获取表的元数据?   java滚动条不会出现在JList上   java JOGL监视器GPU内存   java为什么要使用RecyclerView onDraw延迟   java定制Oppo Reno 2 Z CPH1951(手机型号)的固件(闪存文件)   java自定义线程池执行器   java如何解决发布版本中重复的jar条目[com/安卓/volley/R.class]?   java如何使用Bukkit API触发事件?   java在blazemeter jmeter RTE插件中使用ctrl+w输入   C#/Visual Studio的java JDT等价物   java为什么当maxread值很大而收到的消息数量很小时,卡夫卡消费者会无限期消费?   java游戏2。x:包含模板列表的绑定模型   带压缩的java日志旋转   运行时。exec用java运行程序读取它正在做什么