Files
7000pctAUTO 68422ce3d7
Some checks failed
CI / build (push) Has been cancelled
CI / test (push) Has been cancelled
Add utils and tests
2026-02-01 23:46:50 +00:00

50 lines
1.3 KiB
Python

import logging
from typing import Optional
import sys
def get_logger(name: str, level: int = logging.INFO) -> logging.Logger:
"""Get a logger with standard configuration."""
logger = logging.getLogger(name)
if not logger.handlers:
handler = logging.StreamHandler(sys.stdout)
formatter = logging.Formatter(
"%(asctime)s - %(name)s - %(levelname)s - %(message)s",
datefmt="%Y-%m-%d %H:%M:%S"
)
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.setLevel(level)
return logger
def setup_logger(
name: str = "codechunk",
level: int = logging.INFO,
log_file: Optional[str] = None
) -> logging.Logger:
"""Setup logger with file and console handlers."""
logger = logging.getLogger(name)
logger.setLevel(level)
if logger.handlers:
return logger
formatter = logging.Formatter(
"%(asctime)s - %(name)s - %(levelname)s - %(message)s",
datefmt="%Y-%m-%d %H:%M:%S"
)
console_handler = logging.StreamHandler(sys.stdout)
console_handler.setFormatter(formatter)
logger.addHandler(console_handler)
if log_file:
file_handler = logging.FileHandler(log_file)
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
return logger