From 6af866fda98b7ed31e7b8b14dd3d35f7389e4235 Mon Sep 17 00:00:00 2001 From: Armor <2654988228@qq.com> Date: Tue, 9 Jul 2024 11:55:22 +0800 Subject: [PATCH] logger update --- logs/{log.txt => placeholder} | 0 .../{logger.py => project_logger.py} | 49 ++++++++++--------- src/PostgresSQL/databaseHandler.py | 4 +- 3 files changed, 28 insertions(+), 25 deletions(-) rename logs/{log.txt => placeholder} (100%) rename src/My_Logger/{logger.py => project_logger.py} (53%) diff --git a/logs/log.txt b/logs/placeholder similarity index 100% rename from logs/log.txt rename to logs/placeholder diff --git a/src/My_Logger/logger.py b/src/My_Logger/project_logger.py similarity index 53% rename from src/My_Logger/logger.py rename to src/My_Logger/project_logger.py index 60cf30c..a13fcfc 100644 --- a/src/My_Logger/logger.py +++ b/src/My_Logger/project_logger.py @@ -1,8 +1,16 @@ import logging import datetime +import os +import copy + +from pathlib import Path + +project_path = Path(__file__).parent.parent.parent.absolute() +data_path = os.path.join(project_path, 'data') +log_path = os.path.join(project_path, 'logs') -class Logger: +class LoggerClass: def __init__(self, level="DEBUG"): # 创建日志器对象 self.logger = logging.getLogger(__name__) @@ -11,7 +19,7 @@ class Logger: f'%(message)s', datefmt='%Y-%m-%d %H:%M:%S') - def console_handler(self, level="DEBUG"): + def console_handler(self, level): # 创建控制台的日志处理器 console_handler = logging.StreamHandler() console_handler.setLevel(level) @@ -22,9 +30,13 @@ class Logger: # 返回控制器 return console_handler - def file_handler(self, level="DEBUG"): + def file_handler(self, level, log_file_path): # 创建文件的日志处理器 - file_handler = logging.FileHandler(f"../logs/log.txt", mode="a", encoding="utf-8") + if os.path.isdir(log_file_path): + path = os.path.join(log_file_path, 'default_log.txt') + else: + path = log_file_path + file_handler = logging.FileHandler(path, mode="a", encoding="utf-8") file_handler.setLevel(level) # 处理器添加输出格式 @@ -33,30 +45,21 @@ class Logger: # 返回控制器 return file_handler - def get_log(self): + def get_log(self, level, log_file_path=log_path): # 日志器中添加控制台处理器 - self.logger.addHandler(self.console_handler()) + self.logger.addHandler(self.console_handler(level)) # 日志器中添加文件处理器 - self.logger.addHandler(self.file_handler()) + self.logger.addHandler(self.file_handler(level, log_file_path)) # 返回日志实例对象 return self.logger if __name__ == '__main__': - print('111') - - # class TestLog(): - # def __init__(self): - # log = My_Logger() - # self.logger = log.get_log() - # - # def test_baili_01(self): - # self.logger.info("开始执行") - # self.logger.warning("结束执行") - # - # - # # 实例化 - # test = TestLog() - # # 调用类中的方法 - # test.test_baili_01() + log = LoggerClass() + test_logger = log.get_log(logging.DEBUG) + test_logger.debug('debug') + test_logger.info('info') + test_logger.warning('warning') + test_logger.error('error') + test_logger.critical('critical') diff --git a/src/PostgresSQL/databaseHandler.py b/src/PostgresSQL/databaseHandler.py index 86c3816..9fd127e 100644 --- a/src/PostgresSQL/databaseHandler.py +++ b/src/PostgresSQL/databaseHandler.py @@ -1,11 +1,11 @@ import psycopg2 -from src.My_Logger.logger import Logger +from src.My_Logger.project_logger import LoggerClass class DatabaseHandler: def __init__(self, config, logger=None): if not logger: - log = Logger() + log = LoggerClass() self.logger = log.get_log() self.config = config # {database="postgres", user="postgres", password="123456", host="localhost", port="5432"}