generated from zhangwei/Train_Identify
47 lines
1.5 KiB
Python
47 lines
1.5 KiB
Python
import logging
|
|
from logging.handlers import RotatingFileHandler
|
|
import os
|
|
import sys
|
|
|
|
|
|
class Log(object):
|
|
def __init__(self, log_path="./logs", stdout_log_level=logging.DEBUG, fil_log_level=logging.WARN, log_name: str = "V"):
|
|
# self.log_level = stdout_log_level
|
|
self.logger = logging.getLogger(log_name)
|
|
|
|
self.logger.setLevel(stdout_log_level)
|
|
|
|
self.logPath = log_path
|
|
|
|
if not os.path.exists(self.logPath):
|
|
os.mkdir(self.logPath)
|
|
|
|
# 创建处理器
|
|
self.stdoutHandler = logging.StreamHandler(stream=sys.stdout)
|
|
self.fileHandler = RotatingFileHandler(filename="%s/log.log" % self.logPath,
|
|
mode="a",
|
|
maxBytes=10485760,
|
|
backupCount=10,
|
|
encoding="utf-8")
|
|
|
|
# 设置日志级别
|
|
self.stdoutHandler.setLevel(stdout_log_level)
|
|
self.fileHandler.setLevel(fil_log_level)
|
|
|
|
self.fmt = logging.Formatter(
|
|
"%(name)s: %(asctime)s | %(levelname)s | %(filename)s:%(lineno)s | %(process)d >>> %(message)s"
|
|
)
|
|
|
|
# 设置日志格式
|
|
self.stdoutHandler.setFormatter(self.fmt)
|
|
self.fileHandler.setFormatter(self.fmt)
|
|
|
|
# 设置日志处理器
|
|
self.logger.addHandler(self.stdoutHandler)
|
|
self.logger.addHandler(self.fileHandler)
|
|
|
|
def getLogger(self):
|
|
return self.logger
|
|
|
|
|