blob: 19073fc3e437ccb86cb61b3fd4ee546e85dc9829 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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}")
|