[python]python中使用gflags和logging

1.升级python到2.6版本以上,否则安装setuptools会失败;

2.下载setuptools并安装,地址为:http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg

下载后直接使用root权限sudo sh setuptools-0.6c11-py2.6.egg

3.下载python版本的gflags,地址为:http://code.google.com/p/python-gflags/downloads/list 

下载解压后直接使用root权限sudo python setup.py install

成功后打开python,import gflags,如果没有报错,就说明成功了。

4.logging模块为自带,直接使用。

先看一段使用代码:

#!/usr/bin/python

import sys
import gflags
import logging

Flags = gflags.FLAGS

gflags.DEFINE_string('name', 'func_test', 'test function name')
gflags.DEFINE_integer('qps', 0, 'test qps')
gflags.DEFINE_boolean('debug', False, 'whether debug')

def main(argv):
	Flags(argv)
	logging.basicConfig(level=logging.DEBUG,
                format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
                datefmt='%a, %d %b %Y %H:%M:%S',
                filename='test.log',
                filemode='w')
	logging.debug(Flags.name)
	logging.info(Flags.qps)
	logging.warning(Flags.debug)

if __name__ == "__main__":
	main(sys.argv)


gflags使用说明:

1.gflags.DEFINE_type可以定义输入参数,这里列举了常用的boolean,integer,string,参数的含义分别为定义名称,默认值和该参数的说明,例如例子中的name可以使用--name去赋值;

2.直接在运行的时候使用--help可以看到所有的输入参数的默认值和说明;

3.gflags.FLAGS(argv)对参数进行初始化处理;

4.调用的时候直接使用gflags.FLAGS.name去调用;

5.代码中的FLAGS=gflags.FLAGS相当于别名。

logging使用说明:

1.logging的默认日至级别是warning,打印到屏幕;

2.日至级别关系为:CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET

3.logging可以通过logging.basicConfig来设置日志参数:

level: 设置日志级别,默认为logging.WARNING

format: 指定输出的格式和内容:

%(levelno)s: 打印日志级别的数值

%(levelname)s: 打印日志级别名称

%(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0]

%(filename)s: 打印当前执行程序名

%(funcName)s: 打印日志的当前函数

%(lineno)d: 打印日志的当前行号

%(asctime)s: 打印日志的时间

%(thread)d: 打印线程ID

%(threadName)s: 打印线程名称

%(process)d: 打印进程ID

%(message)s: 打印日志信息

datefmt: 指定时间格式,同time.strftime()

filename: 指定日志文件名

filemode: 和file函数意义相同,指定日志文件的打开模式,’w'或’a’

你可能感兴趣的:([python]python中使用gflags和logging)