logger update

This commit is contained in:
2024-07-09 11:55:22 +08:00
parent bfc048c61e
commit 6af866fda9
3 changed files with 28 additions and 25 deletions
View File
@@ -1,8 +1,16 @@
import logging import logging
import datetime 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"): def __init__(self, level="DEBUG"):
# 创建日志器对象 # 创建日志器对象
self.logger = logging.getLogger(__name__) self.logger = logging.getLogger(__name__)
@@ -11,7 +19,7 @@ class Logger:
f'%(message)s', f'%(message)s',
datefmt='%Y-%m-%d %H:%M:%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 = logging.StreamHandler()
console_handler.setLevel(level) console_handler.setLevel(level)
@@ -22,9 +30,13 @@ class Logger:
# 返回控制器 # 返回控制器
return console_handler 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) file_handler.setLevel(level)
# 处理器添加输出格式 # 处理器添加输出格式
@@ -33,30 +45,21 @@ class Logger:
# 返回控制器 # 返回控制器
return file_handler 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 return self.logger
if __name__ == '__main__': if __name__ == '__main__':
print('111') log = LoggerClass()
test_logger = log.get_log(logging.DEBUG)
# class TestLog(): test_logger.debug('debug')
# def __init__(self): test_logger.info('info')
# log = My_Logger() test_logger.warning('warning')
# self.logger = log.get_log() test_logger.error('error')
# test_logger.critical('critical')
# def test_baili_01(self):
# self.logger.info("开始执行")
# self.logger.warning("结束执行")
#
#
# # 实例化
# test = TestLog()
# # 调用类中的方法
# test.test_baili_01()
+2 -2
View File
@@ -1,11 +1,11 @@
import psycopg2 import psycopg2
from src.My_Logger.logger import Logger from src.My_Logger.project_logger import LoggerClass
class DatabaseHandler: class DatabaseHandler:
def __init__(self, config, logger=None): def __init__(self, config, logger=None):
if not logger: if not logger:
log = Logger() log = LoggerClass()
self.logger = log.get_log() self.logger = log.get_log()
self.config = config self.config = config
# {database="postgres", user="postgres", password="123456", host="localhost", port="5432"} # {database="postgres", user="postgres", password="123456", host="localhost", port="5432"}