ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python(4):python的日志封装

2022-04-16 18:31:46  阅读:156  来源: 互联网

标签:__ 封装 log python self path 日志 logger


通过python封装日志

 

方式一:

通过python自带的logging模块进行封装

代码示例:

import logging
import os
import time
from common.config_utils import local_config

current_path = os.path.dirname(__file__)
log_file_path = os.path.join(current_path,'../logs')


class LogUtils:

    def __init__(self,logger = None):
        # 创建日志对象logger
        self.logger = logging.getLogger(logger)
        # 设置日志级别
        self.logger.setLevel(local_config.get_log_level)

        """在文件中输出日志"""
        # 日志文件名称显示一天的日志
        self.log_name = os.path.join(log_file_path,"UI_Test_%s"%time.strftime('%Y_%m_%d'))
        # 创建文件处理程序并实现追加
        self.file_log = logging.FileHandler(self.log_name,'a',encoding='utf-8')
        # 设置日志文件里的级别
        self.file_log.setLevel(local_config.get_log_level)
        # 设置日志文件里的格式
        formatter = logging.Formatter('%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
        self.file_log.setFormatter(formatter)
        # 把日志信息输出到文件中
        self.logger.addHandler(self.file_log)
        # 关闭文件
        self.file_log.close()

        """在控制台输出日志"""
        # 日志在控制台
        self.console = logging.StreamHandler()
        # 设置日志级别
        self.console.setLevel(local_config.get_log_level)
        # 设置日志格式
        self.console.setFormatter(formatter)
        # 把日志信息输出到控制台
        self.logger.addHandler(self.console)
        # 关闭控制台
        self.console.close()





    def get_log(self):
        return self.logger


logger = LogUtils().get_log()

if __name__ == '__main__':
    logger.info('123')
    logger.error('error')

展示结果:

 

 

方式二

 下载第三方插件 nb-log;

代码示例:

from nb_log import LogManager

logger = LogManager('p7p8').get_logger_and_add_handlers(is_add_stream_handler=True,
                                                        log_path='../logs/',
                                                        log_filename="test.log",
                                                        log_level_int=10)


logger.info('111')
logger.error('error')

展示结果:

 

标签:__,封装,log,python,self,path,日志,logger
来源: https://www.cnblogs.com/YouJeffrey/p/16153769.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有