logging

 
 
import logging
from conf import settings

def logger(log_type):

    # 生成 logger 对象
    logger = logging.getLogger(log_type)
    logger.setLevel(settings.LOG_LEVEL)

    # 生成handler对象,向文件输出日志信息
    log_file = "%s/log/%s.log" % (settings.BASE_DIR, log_type)
    global fh
    fh = logging.FileHandler(log_file)
    fh.setLevel(settings.LOG_LEVEL)

    # 生成formatter对象
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

    # formatter对象绑定到handler对象
    fh.setFormatter(formatter)
    if logger.handlers:  # 清空logger.handlers,否则会重复打印日志
        logger.handlers.pop()
    # handler对象绑定到logger
    logger.addHandler(fh)

    return logger
logger.py

logging的日志可以分为 debug(), info(), warning(), error() and critical()5个级别

%(name)s    Logger的名字
%(levelno)s    数字形式的日志级别
%(levelname)s    文本形式的日志级别
%(pathname)s    调用日志输出函数的模块的完整路径名,可能没有
%(filename)s    调用日志输出函数的模块的文件名
%(module)s    调用日志输出函数的模块名
%(funcName)s    调用日志输出函数的函数名
%(lineno)d    调用日志输出函数的语句所在的代码行
%(created)f    当前时间,用UNIX标准的表示时间的浮 点数表示
%(relativeCreated)d    输出日志信息时的,自Logger创建以 来的毫秒数
%(asctime)s    字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒
%(thread)d    线程ID。可能没有
%(threadName)s    线程名。可能没有
%(process)d    进程ID。可能没有
%(message)s    用户输出的消息
自定义格式

猜你喜欢

转载自www.cnblogs.com/webc/p/9011204.html
今日推荐