【python】【logging】python如何使用logging模块,一个完美的logging模块

python 复制代码
import copy
import logging
import sys


class ColoredFormatter(logging.Formatter):
    COLORS = {
        "DEBUG": "\033[0;36m",  # CYAN
        "INFO": "\033[0;32m",  # GREEN
        "WARNING": "\033[0;33m",  # YELLOW
        "ERROR": "\033[0;31m",  # RED
        "CRITICAL": "\033[0;37;41m",  # WHITE ON RED
        "RESET": "\033[0m",  # RESET COLOR
    }

    def format(self, record):
        colored_record = copy.copy(record)
        levelname = colored_record.levelname
        seq = self.COLORS.get(levelname, self.COLORS["RESET"])
        colored_record.levelname = f"{seq}{levelname}{self.COLORS['RESET']}"
        return super().format(colored_record)


# Create a new logger
logger = logging.getLogger("user_server")
logger.propagate = False
# Add handler if we don't have one.
if not logger.handlers:
    handler = logging.StreamHandler(sys.stdout)
    handler.setFormatter(
        ColoredFormatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
    )
    logger.addHandler(handler)

# Configure logger
loglevel = getattr(logging, "INFO", "info")
logger.setLevel(loglevel)

logger.info("sdfasdasdas")
logger.warning("sdfasdasdas")
logger.error("sdfasdasdas")
相关推荐
lqj_本人19 小时前
深入解析Qt for OpenHarmony的CMake构建系统与常见陷阱
开发语言·qt
n***293219 小时前
PHP安全编程实践
开发语言·安全·php
薛定e的猫咪19 小时前
【调试技巧】vscode 四种断点调试,快速定位 bug
ide·vscode·python·bug
CadeCode19 小时前
Python 开发环境与包管理
python
b***748819 小时前
PHP在电子商务系统中的构建
开发语言·php
爱写代码的小朋友19 小时前
Python局域网远程监控电脑屏幕实现
python·flask·python监控电脑屏幕
岚天start19 小时前
Java程序生成Heap Dump堆内存快照文件的多种方法
开发语言·python·pycharm
兆。19 小时前
python全栈-人工智能基础-机器学习
人工智能·python·机器学习
天马行空-20 小时前
ES 精准匹配 和 模糊查询的实现方式
java·开发语言
深度学习lover20 小时前
<项目代码>yolo遥感航拍船舶识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·遥感船舶识别