| import logging |
|
|
|
|
| def setup_logger(log_file=None, log_level=logging.INFO): |
| """ |
| Simple function to set up a logger with console and optional file output. |
| |
| Args: |
| log_file: Optional path to a log file |
| log_level: Logging level (default: INFO) |
| |
| Returns: |
| Configured logger instance |
| """ |
| |
| formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') |
|
|
| |
| logger = logging.getLogger() |
| logger.setLevel(log_level) |
|
|
| |
| if logger.handlers: |
| logger.handlers.clear() |
|
|
| |
| console_handler = logging.StreamHandler() |
| 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 |
|
|