import sys
import logging
LOG_LEVEL = logging.INFO
# 默认信息格式
LOG_FMT = '%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s'
# 默认时间格式
LOG_DATEFMT = '%Y-%m-%d %H:%M:%S'
# 默认日志文件名称
LOG_FILENAME = 'log.log'
class Logger(object):
def __init__(self):
# 获取一个logger对象,并私有化
self._logger = logging.getLogger()
# 这是format对象
self.formatter = logging.Formatter(fmt=LOG_FMT, datefmt=LOG_DATEFMT)
# 日志输出,文件日志
self._logger.addHandler(self._get_file_handler(LOG_FILENAME))
# 终端console日志输出
self._logger.addHandler(self._get_console_handler())
# 设置日志等级
self._logger.setLevel(LOG_LEVEL)
def _get_file_handler(self, filename):
filehandler = logging.FileHandler(filename=filename, encoding='utf-8')
filehandler.setFormatter(self.formatter)
return filehandler
def _get_console_handler(self):
consolehandler = logging.StreamHandler(sys.stdout)
consolehandler.setFormatter(self.formatter)
return consolehandler
@property
def logger(self):
return self._logger
# 实例化一个Logger对象,使用时直接导入logger即可
logger = Logger().logger
if __name__ == '__main__':
logger.debug('调试...')
logger.info('提示...')
logger.warning('警告...')
logger.error('错误...')
logger.critical('严重错误...')
python logging简单模块代码
最新推荐文章于 2022-03-24 16:42:04 发布