You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.3 KiB
42 lines
1.3 KiB
import logging
|
|
'''
|
|
日志记录方案暂时使用logger来实现--2024-5-25-zl
|
|
'''
|
|
class MyLogger:
|
|
_loggers = {}
|
|
|
|
def __new__(cls, name='my_logger', level=logging.DEBUG):
|
|
if name not in cls._loggers:
|
|
cls._loggers[name] = super().__new__(cls)
|
|
return cls._loggers[name]
|
|
|
|
def __init__(self, name='my_logger', level=logging.DEBUG): #logging.INFO
|
|
if not hasattr(self,'logger'):
|
|
self.logger = logging.getLogger(name)
|
|
self.logger.setLevel(level)
|
|
# 创建一个handler,用于写入日志文件
|
|
file_handler = logging.FileHandler('../log/my_app.log')
|
|
file_handler.setLevel(logging.info)
|
|
|
|
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
|
|
console_handler = logging.StreamHandler()
|
|
console_handler.setFormatter(formatter)
|
|
self.logger.addHandler(console_handler)
|
|
|
|
def info(self, message):
|
|
self.logger.info(message)
|
|
|
|
def error(self, message):
|
|
self.logger.error(message)
|
|
|
|
def warning(self, message):
|
|
self.logger.warning(message)
|
|
|
|
def debug(self, message):
|
|
self.logger.debug(message)
|
|
|
|
# 使用示例
|
|
if __name__ == "__main__":
|
|
logger = MyLogger()
|
|
logger.info("This is an info message")
|
|
logger.error("This is an error message")
|
|
|