1、打印到控制台并输出到日记文件中方法
import logging
# 创建一个logger
logger = logging.getLogger('mylogger')
logger.setLevel(logging.DEBUG)
# 创建一个handler,用于写入日志文件
fh = logging.FileHandler('test.log')
fh.setLevel(logging.DEBUG)
# 再创建一个handler,用于输出到控制台
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
# 定义handler的输出格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter)
# 给logger添加handler
logger.addHandler(fh)
logger.addHandler(ch)
logger.info('开始打印日记')
2、把请求也打印到日志文件中
import logging
# 配置日志信息logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s', datefmt='%m-%d %H:%M', filename='myapp.log', filemode='w')# 定义一个Handler打印INFO及以上级别的日志到sys.stderrconsole = logging.StreamHandler()console.setLevel(logging.INFO)# 设置日志打印格式formatter = logging.Formatter('%(asctime)s%(name)-12s: %(levelname)-8s %(message)s')console.setFormatter(formatter)# 将定义好的console日志handler添加到root loggerlogging.getLogger('').addHandler(console)logging.info(' my logging.log')import logging.handlers
3、加载配置文件,来适合多模块调用import logging ,ConfigParser import logging.config cf = ConfigParser.ConfigParser() cf.read("logging.conf") filename = cf.get("FILENAME", "filename") write = cf.get("FILENAME", "write") #加载配置文件 logging.config.fileConfig('logging.conf') #创建一个文件Handler console = logging.FileHandler(filename,write) console.setLevel(logging.DEBUG)#DEBUG # 设置日志打印格式 formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') console.setFormatter(formatter) # 将定义好的console日志handler添加到root logger logging.getLogger('').addHandler(console) logging.info(u"进入首页页面")