import smtplib
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
class Logger(object):
def __init__(self, log_name):
# 获取logger实例,如果参数为空则返回root logger
self._logger = logging.getLogger("AppName")
# 指定logger输出格式
formatter = logging.Formatter('%(asctime)s %(levelname)-8s: %(message)s')
# 文件日志
self._file_handler = logging.FileHandler(log_name)
self._file_handler.setFormatter(formatter) # 可以通过setFormatter指定输出格式
# 控制台日志
console_handler = logging.StreamHandler(sys.stdout)
console_handler.formatter = formatter # 也可以直接给formatter赋值
# 为logger添加的日志处理器
self._logger.addHandler(self._file_handler)
self._logger.addHandler(console_handler)
# 指定日志的最低输出级别,默认为WARN级别
self._logger.setLevel(logging.INFO)
def __del__(self):
# 移除一些日志处理器
self._logger.removeHandler(self._file_handler)
def debug(self, str):
self._logger.debug(str)
def info(self, str):
self._logger.info(str)
def warn(self, str):
self._logger.warn(str)
def error(self, str):
self._logger.error(str)
def fatal(self, str):
self._logger.fatal(str)
def critical(self, str):
self._logger.critical(str)