""" /** * Copyright 2020 Zhejiang Lab. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============================================================= */ """ # !/usr/bin/env python3 # -*- coding: utf-8 -*- import os import logging import re from logging.handlers import TimedRotatingFileHandler def setup_log(mode, log_name): logger = logging.getLogger(log_name) log_name = os.path.join('./log', mode, log_name) logger.setLevel(logging.DEBUG) file_handler = TimedRotatingFileHandler( filename=log_name, when="MIDNIGHT", interval=1, backupCount=7 ) stream_handler = logging.StreamHandler() stream_handler.setLevel(logging.DEBUG) file_handler.suffix = "%Y-%m-%d.log" file_handler.extMatch = re.compile(r"^\d{4}-\d{2}-\d{2}.log$") # file_handler.setFormatter( logging.Formatter( "[%(asctime)s][%(levelname)s] - %(message)s" ) ) stream_handler.setFormatter( logging.Formatter( "[%(asctime)s][%(levelname)s] - %(message)s" ) ) logger.addHandler(file_handler) logger.addHandler(stream_handler) return logger