From 68422ce3d722ba020b0efce9b9ffa19f0b5aeef8 Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Sun, 1 Feb 2026 23:46:50 +0000 Subject: [PATCH] Add utils and tests --- codechunk/utils/logger.py | 49 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 codechunk/utils/logger.py diff --git a/codechunk/utils/logger.py b/codechunk/utils/logger.py new file mode 100644 index 0000000..140d423 --- /dev/null +++ b/codechunk/utils/logger.py @@ -0,0 +1,49 @@ +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