public_sentiment/web/manager/log_manager.py
2024-09-18 13:38:24 +08:00

48 lines
1.3 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import logging
class LogManager:
"""
日志处理器类,同时在控制台和日志文件中打印日志
"""
# 日志对象
Logger = None
def __init__(self):
super(LogManager, self).__init__()
@staticmethod
def get_logger(param_name, log_file='/mywork/log/public-sentiment/public-sentiment.log', level=logging.INFO):
"""
获取日志对象
:param param_name:
:param log_file:
:param level:
:return:
"""
if LogManager.Logger is None:
LogManager.Logger = logging.getLogger(param_name)
LogManager.Logger.setLevel(level=level)
formatter = logging.Formatter(
'%(asctime)s [%(threadName)s-%(thread)d] [%(levelname)s] %(name)s.%(funcName)s[%(lineno)d] %(message)s')
file_handler = logging.FileHandler(log_file, encoding="utf-8")
file_handler.setLevel(level=level)
file_handler.setFormatter(formatter)
console = logging.StreamHandler()
console.setFormatter(formatter)
console.setLevel(level)
LogManager.Logger.addHandler(file_handler)
LogManager.Logger.addHandler(console)
return LogManager.Logger
else:
return LogManager.Logger