Python日志使用

import os
import colorlog

current_path = os.path.abspath(os.path.dirname(__file__))

class LogHelp :
    """日志辅助类"""
    _logger = None
    _close_imme = True

    @staticmethod
    def set_close_flag(flag):
        LogHelp._close_imme = flag

    @staticmethod
    def _initlog():
        import logging
        import colorlog    

        LogHelp._logger = logging.getLogger()

        # 输出到文件
        logfile = 'convert.log'
        hdlr = logging.FileHandler(logfile)

        # 创建一个ColorFormatter来设置日志消息的颜色
        color_formatter = colorlog.ColoredFormatter(
            '%(log_color)s%(asctime)s - %(levelname)s - %(message)s',
            log_colors={
                'DEBUG': 'yellow',
                'INFO': 'green',
                'WARNING': 'yellow',
                'ERROR': 'red',
                'CRITICAL': 'red,bg_white',
            }
        )

        # 将ColorFormatter添加到StreamHandler
        formatter = logging.Formatter('%(asctime)s|%(levelname)s|%(lineno)d|%(funcName)s|%(message)s')
        hdlr.setFormatter(color_formatter)
        LogHelp._logger.addHandler(hdlr)

        # 输出到屏幕
        hdlr2 = logging.StreamHandler()
        hdlr2.setFormatter(color_formatter)
        hdlr2.setLevel(logging.INFO)
        LogHelp._logger.addHandler(hdlr2)

        LogHelp._logger.setLevel(logging.NOTSET)
        #LogHelp._logger.setLevel(logging.INFO)

        # LogHelp._logger.info("\n\n\n")
        # LogHelp._logger.info("logger is inited!")

    @staticmethod
    def get_logger() :
        if LogHelp._logger is None :
            LogHelp._initlog()

        return LogHelp._logger

    @staticmethod
    def close() :
        if LogHelp._close_imme:
            import logging
            if LogHelp._logger is None :
                return
            logging.shutdown()


# log macro
LOG_DEBUG=LogHelp.get_logger().debug
LOG_INFO=LogHelp.get_logger().info
LOG_WARN=LogHelp.get_logger().warning
LOG_ERROR=LogHelp.get_logger().error
FOREGROUND_RED = 0x0c # red.
FOREGROUND_GREEN = 0x0a # green.
FOREGROUND_BLUE = 0x09 # blue.

# 按间距中的绿色按钮以运行脚本。
if __name__ == '__main__':
    LOG_INFO("hahhahah")

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值