python的彩色google风格日志包装。
colored-glog的Python项目详细描述
python的有色glog
==br/>
图片::https://travis-ci.org/benley/python-glog.svg?branch=master
:target:https://travis ci.org/benley/python glog
python的一个简单的google风格的日志包装器。
这个库试图极大地简化python应用程序中的日志记录。
没有人愿意花上几个小时浏览pep 282日志记录程序文档,而且几乎没有人真正需要像日志记录程序这样的东西。可以通过
网络重新配置。我们只想继续编写我们的应用程序。
而这又是基于“C++ GOLG库”的。
BR/>核心利益
-----BR/> BR/> -你和你的代码不需要关心日志记录是如何工作的。当然,除非你愿意。
-没有更复杂的设置样板!
-您的应用程序和脚本都将具有一致的日志格式,并且具有相同的
可预测的行为。
stderr.
-行的前缀是google风格的日志前缀,格式为
``e0924 22:19:15.123456 19552 filename.py:87]日志消息blah blah``
按空格分隔,字段为:
1。第一个字符是日志级别,然后是mmdd(月,日)
2。hh:mm:ss.微秒
3.过程id
4。sourcefile.py:linenumber中的basename
5。日志消息的主体。
代码::python
log.info(“it works.”)
log.warn(“something not ideal”)
log.error(“something gong wrong”)
log.fatal(“aaaaaaaaaaaaaaaa!”)
如果你的应用程序使用gflags,它将自动获得一个`--verbosity``标志,
,你可以跳过调用``log.setlevel``。只要导入GOLG并开始日志记录。BR/> BR/>检查宏/断言帮助器
-----------------------BR/> BR/>就像GOLG’C的C++版本,Python GOLG提供了一组检查宏[BR/>(1)],帮助文档和执行不变量。它们提供了一条详细的
消息,指出导致断言失败的值,同时还提供了一个堆栈
跟踪,用于标识导致失败的代码路径,希望这样可以更容易地重现错误。失败的检查会引发失败的检查异常。
您可能会发现这些方法比标准Python
断言更方便和/或更熟悉,特别是如果您工作在混合C++和Python代码库中。代码::python
import glog as log
import math
def compute_something(a):
log.check_eq(type(a),float)需要浮点类型
log.check_ge(a,0)需要非负值
value=math.sqrt(a)
返回值
代码::python
check(condition)
check_eq(obj1,obj2)
check_ne(obj1,obj2)
check_le(obj1,obj2)
check_ge(obj1,obj2)
check_notnone(obj1,obj2)
…_ twitter.common.log:https://github.com/twitter/commons/tree/master/src/python/twitter/common/log
…_从未实际发布:https://groups.google.com/d/msg/google glog/a_jcyj4p8mq/xu vdpiuccyj
……Y+C+GOLG库:http://Github.com/谷歌/ GOGG
BR/>_ gflags:https://github.com/google/python gflags
…像GOLG的C++版本一样:HTTPS://HTMLPROVIEW.GITHUBIO/?https://github.com/google/glog/master/doc/glog.html;检查
…[1]从技术上讲,这些是函数,而不是宏。Python在C++和大多数Lisp类语言的意义上没有
语法宏。
==br/>
图片::https://travis-ci.org/benley/python-glog.svg?branch=master
:target:https://travis ci.org/benley/python glog
python的一个简单的google风格的日志包装器。
这个库试图极大地简化python应用程序中的日志记录。
没有人愿意花上几个小时浏览pep 282日志记录程序文档,而且几乎没有人真正需要像日志记录程序这样的东西。可以通过
网络重新配置。我们只想继续编写我们的应用程序。
而这又是基于“C++ GOLG库”的。
BR/>核心利益
-----BR/> BR/> -你和你的代码不需要关心日志记录是如何工作的。当然,除非你愿意。
-没有更复杂的设置样板!
-您的应用程序和脚本都将具有一致的日志格式,并且具有相同的
可预测的行为。
stderr.
-行的前缀是google风格的日志前缀,格式为
``e0924 22:19:15.123456 19552 filename.py:87]日志消息blah blah``
按空格分隔,字段为:
1。第一个字符是日志级别,然后是mmdd(月,日)
2。hh:mm:ss.微秒
3.过程id
4。sourcefile.py:linenumber中的basename
5。日志消息的主体。
代码::python
log.warn(“something not ideal”)
log.error(“something gong wrong”)
log.fatal(“aaaaaaaaaaaaaaaa!”)
如果你的应用程序使用gflags,它将自动获得一个`--verbosity``标志,
,你可以跳过调用``log.setlevel``。只要导入GOLG并开始日志记录。BR/> BR/>检查宏/断言帮助器
-----------------------BR/> BR/>就像GOLG’C的C++版本,Python GOLG提供了一组检查宏[BR/>(1)],帮助文档和执行不变量。它们提供了一条详细的
消息,指出导致断言失败的值,同时还提供了一个堆栈
跟踪,用于标识导致失败的代码路径,希望这样可以更容易地重现错误。失败的检查会引发失败的检查异常。
您可能会发现这些方法比标准Python
断言更方便和/或更熟悉,特别是如果您工作在混合C++和Python代码库中。代码::python
import glog as log
import math
def compute_something(a):
log.check_eq(type(a),float)需要浮点类型
log.check_ge(a,0)需要非负值
value=math.sqrt(a)
返回值
代码::python
check(condition)
check_eq(obj1,obj2)
check_ne(obj1,obj2)
check_le(obj1,obj2)
check_ge(obj1,obj2)
check_notnone(obj1,obj2)
…_ twitter.common.log:https://github.com/twitter/commons/tree/master/src/python/twitter/common/log
…_从未实际发布:https://groups.google.com/d/msg/google glog/a_jcyj4p8mq/xu vdpiuccyj
……Y+C+GOLG库:http://Github.com/谷歌/ GOGG
BR/>_ gflags:https://github.com/google/python gflags
…像GOLG的C++版本一样:HTTPS://HTMLPROVIEW.GITHUBIO/?https://github.com/google/glog/master/doc/glog.html;检查
…[1]从技术上讲,这些是函数,而不是宏。Python在C++和大多数Lisp类语言的意义上没有
语法宏。