【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")
相关推荐
Bruk.Liu几秒前
(LangChain实战2):LangChain消息(message)的使用
开发语言·langchain
Imm777几秒前
中国知名的车膜品牌推荐几家
人工智能·python
qq_423233906 分钟前
C++与Python混合编程实战
开发语言·c++·算法
tudficdew7 分钟前
实战:用Python分析某电商销售数据
jvm·数据库·python
m0_7155753418 分钟前
分布式任务调度系统
开发语言·c++·算法
sjjhd65228 分钟前
Python日志记录(Logging)最佳实践
jvm·数据库·python
csbysj202035 分钟前
选择(Selectable)
开发语言
naruto_lnq39 分钟前
泛型编程与STL设计思想
开发语言·c++·算法
2301_821369611 小时前
用Python生成艺术:分形与算法绘图
jvm·数据库·python
:Concerto1 小时前
JavaSE 注解
java·开发语言·sprint