File size: 928 Bytes
4e9eb6a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
37
38
39
40
41
42
"""
Logging configuration for the DevOps Toolkit API.
"""

import sys

from loguru import logger as loguru_logger

from app.core.config import settings


def setup_logging():
    """Configure application logging."""
    # Remove default handler
    loguru_logger.remove()

    # Add file handler with rotation and retention
    loguru_logger.add(
        settings.logs_dir / "devops_toolkit.log",
        rotation="10 MB",
        retention="1 week",
        level=settings.log_level,
        format="{time:YYYY-MM-DD HH:mm:ss} | {level} | "
               "{name}:{function}:{line} | {message}",
        backtrace=True,
        diagnose=True,
    )

    # Add console handler
    loguru_logger.add(
        sys.stdout,
        level=settings.log_level,
        format="{time:YYYY-MM-DD HH:mm:ss} | {level} | {message}",
        colorize=True,
    )

    return loguru_logger


# Global logger instance
logger = setup_logging()