码迷,mamicode.com
首页 > 其他好文 > 详细

logging 模块

时间:2017-06-10 12:24:40      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:imp   模块名   指定   默认   add   包含   文本   hand   而且   

import logging

包含 info,debug(默认不打印)
error,warning,critical
指定日志打印级别


把日志输出到文件里

logging.basicConfg(filename=‘xxx.log‘,level = logging.INFO)

加上时间
logging.basicConfig(filename=‘xxx.log‘,
level = logging.INFO,
format=‘%(asctime)s %(levelname)s %(message)s‘,
datefmt=‘%m/%d/%Y %I:%M:%S %p‘)

%(name)s logger的名字
%(levelno)s 数字形式的日志级别
%(levelname)s 文本形式的日志级别
%(filename)s 调用日志输出函数的模块的文件名
%(funcName)s 调用日志输出函数的函数名
%(lineno)d 调用日志输出函数的语句所在的代码行
%(module)s 调用模块名
%(thread)d 线程ID
%(threadName)s 线程名
%(process)d 进程ID
%(message)s 用户输出的消息
``````````````````````````````````````````````````````````````````````````````````````````````````````
logger = logging.getLogger(‘TEST-LOG‘)
#常见一个logger
#返回一个logger实例,如果没有指定name,返回root logger。只要name相同,返回的logger实例都是同一个而且只有一个,即name和logger实例是一一对应的。这意味着,无需把logger实例在各个模块中传递。只要知道name,就能得到同一个logger实例
logger.setLevel(logging.DEBUG)
#指定日志输出的等级
ch = logging.StreamHandler()
#屏幕输出
ch.setLevel(logging.DEBUG)
#指定日志输出的等级
fh = logging.FileHandler(‘ACCLOG‘)
#fh = handlers.TimedRotatingFileHandler
#截断
#输出到文件acclog
fh.setLevel(logging.ERROR)
#指定日志输出的等级
formatter = logging.Formatter(‘%(acctimes) - %(name)s - %(levelname)s - %(message)s‘)
#定义日志格式
ch.setFormatter(formatter)
fh.setFormatter(formatter)
#设置格式

logger.addHandler(fh)
logger.addHandler(ch)
#加入handler

logger.warning(‘xxxx‘)

`````````````````````````````````````````````````````````````````````````````````````````````````````
















logging 模块

标签:imp   模块名   指定   默认   add   包含   文本   hand   而且   

原文地址:http://www.cnblogs.com/judge9/p/6978090.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!