-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlogging_.py
More file actions
37 lines (30 loc) · 949 Bytes
/
logging_.py
File metadata and controls
37 lines (30 loc) · 949 Bytes
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
31
32
33
34
35
36
from loguru import logger
import sys
from pathlib import Path
def setup_logger(log_dir="logs", log_level="INFO"):
log_path = Path(log_dir)
log_path.mkdir(parents=True, exist_ok=True)
logger.remove()
logger.add(
sys.stdout,
level=log_level,
format="<green>{time:YYYY-MM-DD HH:mm:ss}</green> | "
"<level>{level: <8}</level> | "
"<cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - "
"<level>{message}</level>",
colorize=True,
enqueue=True,
backtrace=True,
diagnose=True,
)
logger.add(
str(log_path / "run.log"),
level=log_level,
rotation="5 MB",
retention="7 days",
format="{time:YYYY-MM-DD HH:mm:ss} | {level} | {name}:{function}:{line} - {message}",
enqueue=True,
backtrace=True,
diagnose=True,
)
logger.info("Logger initialized")