🔧 chore(logger.py): refactor logger configuration to use loguru library and improve log formatting
This commit is contained in:
parent
5f98f0bbd9
commit
87eb8b1a95
1 changed files with 20 additions and 16 deletions
|
|
@ -1,30 +1,34 @@
|
||||||
import logging
|
from loguru import logger
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from rich.logging import RichHandler
|
from rich.logging import RichHandler
|
||||||
|
|
||||||
logger = logging.getLogger("langflow")
|
|
||||||
|
|
||||||
|
def configure(log_level: str = "DEBUG", log_file: Path = None):
|
||||||
|
log_format = "<green>{time:HH:mm:ss}</green> - <level>{level: <8}</level> - <level>{message}</level>"
|
||||||
|
logger.remove() # Remove default handlers
|
||||||
|
|
||||||
def configure(log_level: str = "DEBUG", log_file: Path = None): # type: ignore
|
# Configure loguru to use RichHandler
|
||||||
log_format = "%(asctime)s - %(levelname)s - %(message)s"
|
logger.configure(
|
||||||
log_level_value = getattr(logging, log_level.upper(), logging.INFO)
|
handlers=[
|
||||||
|
{
|
||||||
logging.basicConfig(
|
"sink": RichHandler(rich_tracebacks=True, markup=True),
|
||||||
level=log_level_value,
|
"format": log_format,
|
||||||
format=log_format,
|
"level": log_level,
|
||||||
datefmt="[%X]",
|
}
|
||||||
handlers=[RichHandler(rich_tracebacks=True)],
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
if log_file:
|
if log_file:
|
||||||
log_file = Path(log_file)
|
log_file = Path(log_file)
|
||||||
log_file.parent.mkdir(parents=True, exist_ok=True)
|
log_file.parent.mkdir(parents=True, exist_ok=True)
|
||||||
|
|
||||||
file_handler = logging.FileHandler(log_file)
|
logger.add(
|
||||||
file_handler.setFormatter(logging.Formatter(log_format))
|
sink=str(log_file),
|
||||||
logger.addHandler(file_handler)
|
level=log_level,
|
||||||
|
format=log_format,
|
||||||
|
rotation="10 MB", # Log rotation based on file size
|
||||||
|
)
|
||||||
|
|
||||||
logger.info(f"Logger set up with log level: {log_level_value}({log_level})")
|
logger.info(f"Logger set up with log level: {log_level}")
|
||||||
if log_file:
|
if log_file:
|
||||||
logger.info(f"Log file: {log_file}")
|
logger.info(f"Log file: {log_file}")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue