logging
用于便捷既然日志切线程安全的模块
vim log_test.py
import logging
logging.basicConfig(filename=‘log.log‘,
                    format=‘%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s‘,
                    datefmt=‘%Y-%m-%d %H:%M:%S %p‘,
                    level=logging.DEBUG)
logging.debug(‘debug‘)
logging.info(‘info‘)
logging.warning(‘warning‘)
logging.error(‘error‘)
logging.critical(‘critical‘)
logging.log(10,‘log‘)
运行生成日志文件log.log
模拟一个生成错误日志的脚本
import logging
logging.basicConfig(filename=‘log.log‘,
                    format=‘%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s‘,
                    datefmt=‘%Y-%m-%d %H:%M:%S %p‘,
                    level=logging.DEBUG)
while True:
    option = raw_input("input a digit:")
    if option.isdigit():
        print "hehe",option
        logging.info(‘option correct‘)
    else:
        logging.error(‘Must input a digit!‘)
执行如果输入的是数字,写入info日志如果不是则写成error日志

PS:level=logging.DEBUG 是代表最低记录基本如果改成WARNING则不会记录info,debug信息就算设置了
上面是把日志写到文件里面
把日志显示到屏幕上面有输出到文件
import logging
logger = logging.getLogger("simple_example")
logger.setLevel(logging.DEBUG)
#on screen
ch = logging.StreamHandler()
ch.setLevel(logging.WARNING)
#into file
fh = logging.FileHandler("log2.log")
fh.setLevel(logging.DEBUG)
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s")
ch.setFormatter(formatter)
fh.setFormatter(formatter)
logger.addHandler(ch)
logger.addHandler(fh)
logger.debug("debug msg...")
logger.info("info msg...")
logger.warn("warn msg...")
logger.error("error msg...")
logger.critical("critical msg...")

屏幕没有输出debug信息
原文:http://www.cnblogs.com/minseo/p/6864236.html