Skip to content

Commit 08d18fc

Browse files
authored
Update logger.py
1 parent 71d3585 commit 08d18fc

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

app/utils/logger.py

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,25 @@
22

33
import os
44
from loguru import logger
5-
from app.config import Config
6-
from app.utils.logger import get_logger
75

8-
logger = get_logger()
6+
_log_initialized = False
97

10-
# Ensure logs directory exists
11-
os.makedirs(os.path.dirname(Config.LOG_PATH), exist_ok=True)
8+
def get_logger():
9+
"""Initializes and returns the logger instance, avoiding reinitialization."""
10+
global _log_initialized
11+
if not _log_initialized:
12+
from app.config import Config # Lazy import to avoid circular dependency
1213

13-
logger.add(
14-
Config.LOG_PATH,
15-
rotation="1 MB",
16-
retention="10 days",
17-
level=Config.LOG_LEVEL,
18-
enqueue=True,
19-
backtrace=True,
20-
diagnose=True
21-
)
14+
log_path = Config.LOG_PATH
15+
log_level = Config.LOG_LEVEL
2216

23-
logger.info(f"Logger initialized. Path: {Config.LOG_PATH}, Level: {Config.LOG_LEVEL}")
17+
os.makedirs(os.path.dirname(log_path), exist_ok=True)
18+
19+
logger.remove()
20+
logger.add(log_path, rotation="10 MB", retention="7 days", level=log_level)
21+
logger.add(lambda msg: print(msg, end=""), level=log_level)
22+
23+
logger.info(f"Logger initialized. Path: {log_path}, Level: {log_level}")
24+
_log_initialized = True
25+
26+
return logger

0 commit comments

Comments
 (0)