Archived
1
0
Fork 0
This repository has been archived on 2024-04-26. You can view files and clone it, but cannot push or open issues or pull requests.
akari-bot/core/logger.py

53 lines
1.1 KiB
Python

'''基于logging的日志器。'''
import logging
from abc import ABC, abstractmethod
class AbstractLogger(ABC):
@abstractmethod
def info(self, msg):
pass
@abstractmethod
def error(self, msg):
pass
@abstractmethod
def debug(self, msg):
pass
@abstractmethod
def warn(self, msg):
pass
@abstractmethod
def exception(self, msg):
pass
class Logginglogger(AbstractLogger):
def __init__(self, fmt="[%(asctime)s][%(levelname)s]: %(msg)s", **kwargs):
logging.basicConfig(
format=fmt,
level=logging.INFO if not kwargs.get("debug") else logging.DEBUG
)
self.log = logging.getLogger('akaribot.logger')
self.log.setLevel(logging.INFO)
def info(self, msg):
return self.log.info(msg)
def error(self, msg):
return self.log.error(msg)
def debug(self, msg):
return self.log.debug(msg)
def warn(self, msg):
return self.log.warning(msg)
def exception(self, msg):
return self.log.exception(msg)
Logger = Logginglogger()