50585505

来源:互联网 发布:我的淘宝卖家旺旺号 编辑:程序博客网 时间:2024/06/15 21:10

laizi :http://blog.csdn.net/shjh369/article/details/50585505

[python] view plain copy
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][%(thread)d][%(filename)s][line: %(lineno)d][%(levelname)s] ## %(message)s’)
fh.setFormatter(formatter)
ch.setFormatter(formatter)

给logger添加handler

logger.addHandler(fh)
logger.addHandler(ch)

记录一条日志

logger.info(‘foorbar’)

关于formatter的配置,采用的是%()s的形式,就是字典的关键字替换。提供的关键字包括:
Format Description
%(name)s Name of the logger (logging channel).
%(levelno)s Numeric logging level for the message (DEBUG, INFO, WARNING, ERROR, CRITICAL).
%(levelname)s Text logging level for the message (‘DEBUG’, ‘INFO’, ‘WARNING’, ‘ERROR’, ‘CRITICAL’).
%(pathname)s Full pathname of the source file where the logging call was issued (if available).
%(filename)s Filename portion of pathname.
%(module)s Module (name portion of filename).
%(funcName)s Name of function containing the logging call.
%(lineno)d Source line number where the logging call was issued (if available).
%(created)f Time when the LogRecord was created (as returned by time.time()).
%(relativeCreated)d Time in milliseconds when the LogRecord was created, relative to the time the logging module was loaded.
%(asctime)s Human-readable time when the LogRecord was created. By default this is of the form “2003-07-08 16:49:45,896” (the numbers after the comma are millisecond portion of the time).
%(msecs)d Millisecond portion of the time when the LogRecord was created.
%(thread)d Thread ID (if available).
%(threadName)s Thread name (if available).
%(process)d Process ID (if available).
%(message)s The logged message, computed as msg % args.

原创粉丝点击