此记录器提供了一些方便,使从python代码和zpt模板进行日志记录变得更容易。
stxnext.log的Python项目详细描述
概述
这是从零开始写的日志。它提供的便利很少 帮助记录(例如:记录异常)。它还可以记录一些 来自zpt的消息(zope页面模板)。
使用
stxnext.log可以在python代码中使用打开:
>>> from stxnext.log import log >>> log('log <this> text') >>> log('log another text', printit=True) #doctest:+ELLIPSIS [...] log another text >>> try: ... 1/0 ... except ZeroDivisionError, e: ... log.log_exc(e) ... >>> log.getLoggedTextAsHtml() #doctest:+ELLIPSIS, +NORMALIZE_WHITESPACE <pre>[...] log <this> text...</pre>
stxnext.log也可用于zpt模板:
<tal:block tal:define="log context/@@STXNextLogger; result python: log.setFilename('logger_filename.log'); result python: log.setName('logger name');"> <tal:block tal:define="result python: log('log this text')" /> <tal:block tal:define="result python: log('log another text', printit=True)" /> <pre tal:replace="structure log/getLoggedTextAsHtml" /> </tal:block>
安装
或者,如果您使用zc.buildout来管理项目, 您可以这样做:
将stxnext.log添加到要安装的鸡蛋列表中,例如:
[buildout] ... eggs = ... stxnext.log
如果使用plone.recipe.zope2instance recipe管理 实例添加这些行以安装zcml slug:
[instance] recipe = plone.recipe.zope2instance ... zcml = ... stxnext.log
如果您使用zc.zope3recipes:application recipe来管理 实例添加这些行以安装zcml slug:
[instance] recipe = zc.zope3recipes:application ... site.zcml = ... <include package="stxnext.log" />
重新运行构建,例如使用:
$ ./bin/buildout
如果要显式地包含包,可以跳过zcml slug 从另一个包的configure.zcml文件。