28 lines
868 B
Python
Executable File
28 lines
868 B
Python
Executable File
import logging
|
|
import sys
|
|
from pathlib import Path
|
|
from datetime import datetime
|
|
|
|
def setup_logging(log_level: str = "INFO"):
|
|
"""Setup logging configuration"""
|
|
|
|
# Create logs directory if it doesn't exist
|
|
log_dir = Path("logs")
|
|
log_dir.mkdir(exist_ok=True)
|
|
|
|
# Configure logging
|
|
logging.basicConfig(
|
|
level=getattr(logging, log_level.upper()),
|
|
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
|
|
handlers=[
|
|
logging.StreamHandler(sys.stdout),
|
|
logging.FileHandler(
|
|
log_dir / f"etl_{datetime.now().strftime('%Y%m%d')}.log"
|
|
)
|
|
]
|
|
)
|
|
|
|
# Set specific logger levels
|
|
logging.getLogger("pymssql").setLevel(logging.WARNING)
|
|
logging.getLogger("psycopg2").setLevel(logging.WARNING)
|
|
logging.getLogger("redis").setLevel(logging.WARNING) |