请直接看这篇文章: http://python.jobbole.com/82221/
默认情况下(logging.basicConfig配置时没指定filename),logging将日志打印到屏幕,日志级别为WARNING;
日志级别大小关系为:CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET,当然也可以自己定义日志级别
filemode: 和file函数意义相同,指定日志文件的打开模式,’w’或’a’ 覆盖还是追加
#!/usr/bin/python
# coding=utf-8
# from util import *
# 配置日志信息
import logging
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
datefmt='%m-%d %H:%M',
filename='my.log',
filemode='w')
# 定义一个Handler打印INFO及以上级别的日志到sys.stderr
console = logging.StreamHandler()
console.setLevel(logging.INFO)
# 设置日志打印格式
formatter = logging.Formatter('%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',datefmt='%H:%M')
console.setFormatter(formatter)
# 将定义好的console日志handler添加到root logger
mylog=logging.getLogger('my.log')
mylog.addHandler(console)
# 设置propagate=0表示继承的源头,不会把log信息传给logging了
mylog.propagate=0
logging.info("hahaha")