diff options
| author | 2023-08-13 12:28:01 +0800 | |
|---|---|---|
| committer | 2023-08-13 12:28:01 +0800 | |
| commit | 697e9157669e467f41c5cd4b542aee861b320712 (patch) | |
| tree | 5e19c64615e5ae76a4dea5adecf2dffdb0f315b1 /HydroRollCore/log.py | |
| parent | 72fbe4b835ea6cf5664e3ade112fd47e33fde880 (diff) | |
| download | infini-697e9157669e467f41c5cd4b542aee861b320712.tar.gz infini-697e9157669e467f41c5cd4b542aee861b320712.zip | |
refactor: brandly new edition
Diffstat (limited to 'HydroRollCore/log.py')
| -rw-r--r-- | HydroRollCore/log.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/HydroRollCore/log.py b/HydroRollCore/log.py index e69de29b..19073fc3 100644 --- a/HydroRollCore/log.py +++ b/HydroRollCore/log.py @@ -0,0 +1,30 @@ +"""HydroRollCore 日志。 + +HydroRollCore 使用 [loguru](https://github.com/Delgan/loguru) 来记录日志信息。 +自定义 logger 请参考 [loguru](https://github.com/Delgan/loguru) 文档。 +""" +import os +import sys +from datetime import datetime + +from loguru import logger as _logger + +logger = _logger + +current_path = os.path.dirname(os.path.abspath("__file__")) +log_path = os.path.join( + current_path, "logs", datetime.now().strftime("%Y-%m-%d") + ".log" +) + + +def error_or_exception(message: str, exception: Exception, verbose: bool): + logger.remove() + logger.add( + sys.stderr, + format="<magenta>{time:YYYY-MM-DD HH:mm:ss.SSS}</magenta> <level>[{level}]</level> > <cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>", + ) + logger.add(sink=log_path, level="INFO", rotation="10 MB") # 每个日志文件最大为 10MB + if verbose: + logger.exception(message) + else: + logger.critical(f"{message} {exception!r}")
\ No newline at end of file |
