Hecheng0625's picture
Upload 409 files
c968fc3 verified
raw
history blame
1.37 kB
# Copyright (c) 2024 Amphion.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
import functools
import logging
__all__ = [
"logger",
]
class Logger(object):
def __init__(self, name: str = None):
name = "PaddleSpeech" if not name else name
self.logger = logging.getLogger(name)
log_config = {
"DEBUG": 10,
"INFO": 20,
"TRAIN": 21,
"EVAL": 22,
"WARNING": 30,
"ERROR": 40,
"CRITICAL": 50,
"EXCEPTION": 100,
}
for key, level in log_config.items():
logging.addLevelName(level, key)
if key == "EXCEPTION":
self.__dict__[key.lower()] = self.logger.exception
else:
self.__dict__[key.lower()] = functools.partial(self.__call__, level)
self.format = logging.Formatter(
fmt="[%(asctime)-15s] [%(levelname)8s] - %(message)s"
)
self.handler = logging.StreamHandler()
self.handler.setFormatter(self.format)
self.logger.addHandler(self.handler)
self.logger.setLevel(logging.INFO)
self.logger.propagate = False
def __call__(self, log_level: str, msg: str):
self.logger.log(log_level, msg)
logger = Logger()