码迷,mamicode.com
首页 > 编程语言 > 详细

学习python语言-----logging模块(转 记录与学习)

时间:2018-09-17 20:34:39      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:debug   --   record   添加   stream   pen   直接   一个   lin   

一、灵活配置日志输出

import logging  
logging.basicConfig(level=logging.DEBUG,  
                    format=%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s,  
                    datefmt=%a, %d %b %Y %H:%M:%S,  
                    filename=/tmp/test.log,  #若无此项,则默认输出于控制台
                    filemode=w)  #w用于刷新纪录,a用于增加记录,默认为a
  
#5个日志记录级别 logging.debug(
debug message) logging.info(info message) logging.warning(warning message) logging.error(error message) logging.critical(critical message)

 

二、使用logger对象

import logging

logger = logging.getLogger()
# 创建一个handler,用于写入日志文件
fh = logging.FileHandler(test.log)

# 再创建一个handler,用于输出到控制台
ch = logging.StreamHandler()

formatter = logging.Formatter(%(asctime)s - %(name)s - %(levelname)s - %(message)s)

fh.setFormatter(formatter)
ch.setFormatter(formatter)

logger.addHandler(fh) #logger对象可以添加多个fh和ch对象
logger.addHandler(ch)

logger.debug(logger debug message)
logger.info(logger info message)
logger.warning(logger warning message)
logger.error(logger error message)
logger.critical(logger critical message)

二、应用logger,创建一个封装好了的函数

import os
import time
import logging
from config import settings


def get_logger(card_num, struct_time):

    if struct_time.tm_mday < 23:
        file_name = "%s_%s_%d" %(struct_time.tm_year, struct_time.tm_mon, 22)
    else:
        file_name = "%s_%s_%d" %(struct_time.tm_year, struct_time.tm_mon+1, 22)

    file_handler = logging.FileHandler(
        os.path.join(settings.USER_DIR_FOLDER, card_num, record, file_name),
        encoding=utf-8
    )
    fmt = logging.Formatter(fmt="%(asctime)s :  %(message)s")
    file_handler.setFormatter(fmt)

    logger1 = logging.Logger(user_logger, level=logging.INFO)
    logger1.addHandler(file_handler)
    return logger1

可以直接进行调用,这个针对的是银行日志记录

logger  =  get_logger()

logger.info(‘spend %s $‘%52)

学习python语言-----logging模块(转 记录与学习)

标签:debug   --   record   添加   stream   pen   直接   一个   lin   

原文地址:https://www.cnblogs.com/yujin123456/p/9664518.html

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