53 lines
1.1 KiB
Python
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()
|