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
@@ -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')
+2 -2
View File
@@ -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"}