zoukankan      html  css  js  c++  java
  • 封装logging模块,创建日志器

    import os
    import logging

    from scripts.handle_yaml import do_yaml
    from scripts.handle_path import LOG_PATH


    class HandleLog:

    def __init__(self, name=None):
    # 1、创建Logger对象
    # 相当于日志记录工具
    if name is None:
    self.my_logger = logging.getLogger("testcase")
    else:
    self.my_logger = logging.getLogger(name)

    # 2、设置日志器的日志等级
    # self.my_logger.setLevel("DEBUG")
    self.my_logger.setLevel(do_yaml.get_data("log", "logger_level"))

    # 3、创建日志输出渠道(日志显示的地方)
    console_handler = logging.StreamHandler()
    console_handler.setLevel("WARNING")

    # file_handler = logging.FileHandler("testcase.log", encoding="utf-8")
    # file_handler = logging.FileHandler(do_yaml.get_data("log", "log_filename"), encoding="utf-8")
    log_full_path = os.path.join(LOG_PATH, do_yaml.get_data("log", "log_filename"))
    file_handler = logging.FileHandler(log_full_path, encoding="utf-8")

    # 4、创建日志的显示样式(格式)并与渠道进行关联
    formater = logging.Formatter('%(asctime)s - [%(levelname)s] - [msg]: %(message)s - %(name)s - %(lineno)d')
    console_handler.setFormatter(formater)
    file_handler.setFormatter(formater)

    # 5、日志器对象与日志输出渠道(展示的地方)进行关联
    self.my_logger.addHandler(console_handler)
    self.my_logger.addHandler(file_handler)

    def get_logger(self):
    return self.my_logger


    do_log = HandleLog().get_logger()

    if __name__ == '__main__':
    do_log = HandleLog()
    my_logger = do_log.get_logger()
    my_logger.debug("这是一条debug级别的日志!")
    my_logger.info("这是一条info级别的日志!")
    my_logger.warning("这是一条warning级别的日志!")
    my_logger.error("这是一条error级别的日志!")
    my_logger.critical("这是一条critical级别的日志!")
  • 相关阅读:
    5.JavaSE之数据类型详解
    4.JavaSE之标识符
    2.Java程序运行机制
    1.HelloWorld 仪式感
    10.安装开发环境
    【模板】后缀数组
    Luogu P3808 【模板】AC自动机(简单版)
    Luogu P3375 【模板】KMP字符串匹配
    LNSY集训
    Luogu P2580 于是他错误的点名开始了 (Trie树模板)
  • 原文地址:https://www.cnblogs.com/billyb/p/12933913.html
Copyright © 2011-2022 走看看