# -*- coding: utf-8 -*- """ Copyright (C) 2020-2024 LiteyukiStudio. All Rights Reserved @Time : 2024/7/27 上午9:12 @Author : snowykami @Email : snowykami@outlook.com @File : log.py @Software: PyCharm """ import sys import loguru logger = loguru.logger.bind() debug_format: str = ( "{time:YYYY-MM-DD HH:mm:ss} " "[{level.icon}{level}] " "<{name}.{module}.{function}:{line}> " "{message}" ) # 默认日志格式 default_format: str = ( "{time:MM-DD HH:mm:ss} " "[{level.icon}{level}] " "<{name}> " "{message}" ) def get_format(level: str) -> str: """ 获取日志格式 Args: level: 日志等级 Returns: 日志格式 """ # DEBUG日志格式 if level == "DEBUG": return debug_format else: return default_format def init_log(config: dict): """ 在语言加载完成后执行 Args: config: 配置 """ global logger level = config.get("log_level", "DEBUG") logger.remove() logger.add( sys.stdout, level=level, diagnose=False, format=get_format(level), ) show_icon = config.get("log_icon", True) logger.level("DEBUG", color="", icon=f"{'🐛' if show_icon else ''}") logger.level("INFO", color="", icon=f"{'ℹ️' if show_icon else ''}") logger.level("SUCCESS", color="", icon=f"{'✅' if show_icon else ''}") logger.level("WARNING", color="", icon=f"{'⚠️' if show_icon else ''}") logger.level("ERROR", color="", icon=f"{'⭕' if show_icon else ''}") logger.level("CRITICAL", color="", icon=f"{'❌' if show_icon else ''}") logger.level("TRACE", color="", icon=f"{'🔍' if show_icon else ''}") logger.bind() init_log(config={"log_level": "DEBUG", "log_icon": True})