async def set_level(message: Message): """ set logger level """ await message.edit("`setting logger level ...`") level = message.input_str.lower() if level not in _LEVELS: await message.err("unknown level !") return for logger in (logging.getLogger(name) for name in logging.root.manager.loggerDict): logger.setLevel(_LEVELS[level]) await message.edit( f"`successfully set logger level as` : **{level.upper()}**", del_in=3)
import time import asyncio from traceback import format_exc from functools import partial from typing import List, Dict, Union, Any, Callable, Optional from pyrogram import StopPropagation, ContinuePropagation from pyrogram.filters import Filter as RawFilter from pyrogram.types import Message as RawMessage, ChatMember from pyrogram.errors.exceptions.bad_request_400 import ChatAdminRequired, PeerIdInvalid from xdecha import logging, Config from ...ext import RawClient from ... import types, client as _client # pylint: disable=unused-import _LOG = logging.getLogger(__name__) _LOG_STR = "<<<! ::::: %s ::::: !>>>" _PYROFUNC = Callable[['types.bound.Message'], Any] _TASK_1_START_TO = time.time() _TASK_2_START_TO = time.time() _B_ID = 0 _B_CMN_CHT: List[int] = [] _B_AD_CHT: Dict[int, ChatMember] = {} _B_NM_CHT: Dict[int, ChatMember] = {} _U_ID = 0 _U_AD_CHT: Dict[int, ChatMember] = {} _U_NM_CHT: Dict[int, ChatMember] = {}
def getLogger(name: str = '') -> logging.Logger: # pylint: disable=invalid-name """ This returns new logger object """ if not name: name = inspect.currentframe().f_back.f_globals['__name__'] _LOG.debug(_LOG_STR, f"Creating Logger => {name}") return logging.getLogger(name)