Browse Source

ADD file via upload

master
BIT2024 1 year ago
parent
commit
7cc4e5c1bf
1 changed files with 48 additions and 0 deletions
  1. +48
    -0
      utils/logger.py

+ 48
- 0
utils/logger.py View File

@@ -0,0 +1,48 @@
import os
import sys
import logging
from time import strftime


# 设置日志格式#和时间格式
# FMT = '%(asctime)s %(filename)s [line:%(lineno)d] %(levelname)s: %(message)s'
FMT = '%(asctime)s %(filename)s [line:%(lineno)d] %(levelname)s: %(message)s'
DATEFMT = '%Y-%m-%d %H:%M:%S'

class MyLog(object):
def __init__(self, log_path, type_='train'):
self.logger = logging.getLogger()
self.formatter = logging.Formatter(fmt=FMT, datefmt=DATEFMT)
self.log_filename = os.path.join(log_path, 'train.log' if type_=='train' else 'test.log')
# self.log_filename = '{0}{1}.log'.format(log_path, strftime("%Y-%m-%d"))

# 输出到文件
self.logger.addHandler(self.get_file_handler(self.log_filename))
# 输出到控制台
# self.logger.addHandler(self.get_console_handler())
# 设置日志的默认级别
# 打印DEBUG级别以及以上的日志
# 级别排序为:CRITICAL > ERROR > WARNING > INFO > DEBUG
self.logger.setLevel(logging.INFO)

# 输出到文件handler的函数定义
def get_file_handler(self, filename):
filehandler = logging.FileHandler(filename, encoding="utf-8")
filehandler.setFormatter(self.formatter)
return filehandler

# 输出到控制台handler的函数定义
def get_console_handler(self):
console_handler = logging.StreamHandler(sys.stdout)
console_handler.setFormatter(self.formatter)
return console_handler

def setup_logger(log_path=None, type_='train'):
# 输出日志路径
if log_path is not None:
os.makedirs(log_path, exist_ok=True)
return MyLog(log_path, type_).logger
log_path = os.path.abspath('.') + '/logs/'
return MyLog(log_path, type_).logger

Loading…
Cancel
Save