日志模块logging

import os
import datetime
import logging

BASE_DIR = os.path.dirname(os.path.dirname(__file__))
time_now = datetime.datetime.now().strftime('%Y-%m-%d')



class MyLogger(object):

    def __init__(self,log_file_path,logger_name):
        self.logger_name = logger_name
        self.log_file_path = log_file_path

    def getmylogger(self,level='DEBUG'):

        fmt = '%(asctime)s - %(funcName)s - %(levelname)s - %(message)s'    # 设置日志格式
        datefmt = '%Y-%m-%d %H:%M:%S'                           # 设置时间的格式
        formatter = logging.Formatter(fmt=fmt,datefmt=datefmt)

        # 设置handler01 用于用输出到文件
        handler_file = logging.FileHandler(self.log_file_path)   # stdout to file
        handler_file.setLevel('DEBUG')       #设置输出级别
        handler_file.setFormatter(formatter) #设置输出格式

        # 设置handler02 用于用输出到控制台
        handler_stream = logging.StreamHandler()           # stdout to console
        handler_stream.setLevel('DEBUG')
        handler_stream.setFormatter(formatter)

        logger = logging.getLogger(self.logger_name)
        logger.setLevel('DEBUG')  # 设置了这个才会把debug以上的输出到控制台

        logger.addHandler(handler_file)  # 添加handler
        logger.addHandler(handler_stream)

        return logger

if __name__ == '__main__':

    hhh1 = MyLogger(log_file_path='mylog01.log',logger_name='mylogger01').getmylogger()
    hhh1.debug('Im debug!!!!')
    hhh1.info('I am info!!!')
    hhh1.error('I am error!!!')
    hhh1.warning('Im crital!!!!')



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,可以使用logging模块来记录日志信息,方便程序员在开发和生产环境中进行调试和问题排查。logging模块提供了全局配置方法,可以通过配置来控制日志的格式、输出方式和级别等。 下面是一个简单的例子,展示如何使用logging模块进行全局配置: ``` import logging # 配置日志格式 formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s') # 创建一个StreamHandler,用于输出到控制台 console_handler = logging.StreamHandler() console_handler.setFormatter(formatter) # 创建一个FileHandler,用于输出到文件 file_handler = logging.FileHandler('example.log') file_handler.setFormatter(formatter) # 创建一个Logger实例 logger = logging.getLogger('example') logger.setLevel(logging.DEBUG) # 将StreamHandler和FileHandler添加到Logger实例中 logger.addHandler(console_handler) logger.addHandler(file_handler) ``` 在上面的例子中,首先创建了一个Formatter对象,用于配置日志的格式。然后,创建了一个StreamHandler和FileHandler,分别用于将日志输出到控制台和文件中。接下来,创建了一个Logger实例,并设置了日志级别为DEBUG。最后,将StreamHandler和FileHandler添加到Logger实例中。 通过全局配置,可以方便地控制日志的输出方式和级别。在程序中,只需要使用logger对象来记录日志即可,例如: ``` logger.debug('debug message') logger.info('info message') logger.warning('warning message') logger.error('error message') logger.critical('critical message') ``` 通过上述配置,日志信息将输出到控制台和文件中,并且可以根据需要调整日志级别。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值