| | 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 |
| |
|