python 中 logging 模塊的 log 函數以及坑


記錄下吧,一個日志的函數,但有個坑是在調用函數時需要先將函數實例化為一個變量,否則進入某個循環時會多次刷新日志:

"""
日志模塊
"""
import sys,logging
sys.path.append('..')
from conf.setting import *



def logger(log_type):
    """
    定義日志模塊
    :param log_type: 日志的用戶
    :return: 
    """
    logger=logging.getLogger(log_type)
    logger.setLevel(LOG_LEVEL)

    ch=logging.StreamHandler()
    ch.setLevel(LOG_LEVEL)

    fh=logging.FileHandler('../log/{}'.format(LOG_TYPE[log_type]))
    fh.setLevel(LOG_LEVEL)

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

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

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

    return logger

#將日志實例化,防止進入循環后多次刷新日志
log_trans=logger('trans')
log_access=logger('access')
log_admin=logger('admin')

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM