自动登录使记录和跟踪python类变得容易。
Autologging的Python项目详细描述
autologging-更容易记录和跟踪python类
http://ninthtest.info/python-autologging/
简介
自动登录消除了样板日志设置代码和跟踪代码, 并提供了一种将应用程序日志记录与程序流分离的方法 以及数据追踪。
使用自动登录的python模块更干净、更精简,并且 更能适应需要更新跟踪的更改 声明。
自动登录允许配置(和控制)跟踪 独立于应用程序日志记录。打开/关闭跟踪,写入 将日志记录跟踪到单独的日志,并使用不同的格式 跟踪日志条目-全部通过标准python日志记录工具,以及 不会影响应用程序日志记录。
在autologging
名称空间中有什么?
自动登录将公开两个装饰器和一个自定义日志级别:
logged
修饰类以创建__log
成员。记录器的名称是
默认设置为与包含类的虚线名称匹配。函数
也可以被修饰,在函数上创建_log
属性
其默认名称与包含模块匹配的对象。
一个特别命名的记录器也可以传递给decorator(即
logged(my_logger)
)。
traced
修饰类以提供自动方法调用/返回跟踪。由
默认情况下,跟踪所有类、静态和实例方法(不包括
“special”方法,除了__init__
和__call__
)。
与logged
decorator一样,跟踪记录器的默认名称
匹配包含类的虚线名称,并且可以由重写
将一个特定命名的记录器传递给decorator。
另外,这个decorator接受多个字符串参数
显式地命名要跟踪的方法(甚至可以
“special”方法)。
模块级函数也可以使用这个decorator进行跟踪。
1.2.0版中的new:python的自动生成/停止跟踪 generator iterators (如果generator 函数被跟踪)。
TRACE
autologging.TRACE
(级别1)日志级别注册到
导入自动登录时的pythonlogging
模块,以便跟踪
可以独立于应用程序日志进行配置和控制。
通过设置
AUTOLOGGING_TRACED_NOOP
环境变量或通过调用
autologging.install_traced_noop()
函数。
一个简单的例子
一个简单的记录和跟踪类:
1importlogging2importsys34fromautologgingimportlogged,TRACE,traced56@traced7@logged8classExample:910def__init__(self):11self.__log.info("initialized")1213defbackwards(self,*words):14forwordinwords:15yield"".join(reversed(word))161718if__name__=="__main__":19logging.basicConfig(20level=TRACE,stream=sys.stderr,21format="%(levelname)s:%(filename)s,%(lineno)d:%(name)s.%(funcName)s:%(message)s")22example=Example()23forresultinexample.backwards("spam","eggs"):24print(result)
记录和跟踪输出:
$ python example.py TRACE:example.py,10:__main__.Example.__init__:CALL *() **{} INFO:example.py,11:__main__.Example.__init__:initialized TRACE:example.py,11:__main__.Example.__init__:RETURN None TRACE:example.py,13:__main__.Example.backwards:CALL *('spam', 'eggs') **{} TRACE:example.py,15:__main__.Example.backwards:RETURN <generator object backwards at 0x7fa534d61eb0> TRACE:example.py,15:__main__.Example.backwards:YIELD 'maps' maps TRACE:example.py,15:__main__.Example.backwards:YIELD 'sgge' sgge TRACE:example.py,15:__main__.Example.backwards:STOP
安装
安装自动登录的最简单方法是使用 pip:
$ pip install Autologging
源安装
克隆或分叉存储库:
$ git clone https://github.com/mzipay/Autologging.git
或者,下载并解压缩source.zip或.tar.gz存档 从https://github.com/mzipay/Autologging/releases, https://pypi.python.org/pypi/Autologging或 https://sourceforge.net/projects/autologging/files/。
运行测试套件并安装autologging
模块:(确保
安装了setuptools!)
$ cd Autologging $ python setup.py test $ python setup.py install
二进制安装
从下载python控制盘(.whl)或windows安装程序 https://pypi.python.org/pypi/Autologging或 https://sourceforge.net/projects/autologging/files/。