Buckets:
| import logging | |
| import os | |
| from typing import Optional | |
| def setup_logging( | |
| log_file: Optional[str] = None, | |
| log_level: str = "INFO", | |
| log_format: str = "%(asctime)s - %(name)s - %(levelname)s - %(message)s", | |
| ) -> logging.Logger: | |
| if log_file: | |
| log_dir = os.path.dirname(log_file) | |
| if log_dir and not os.path.exists(log_dir): | |
| os.makedirs(log_dir) | |
| logging.basicConfig( | |
| level=getattr(logging, log_level.upper()), | |
| format=log_format, | |
| handlers=[ | |
| logging.StreamHandler(), | |
| logging.FileHandler(log_file) if log_file else logging.NullHandler(), | |
| ], | |
| ) | |
| logger = logging.getLogger("geometry_solver") | |
| logger.info("Logging system initialized") | |
| return logger | |
Xet Storage Details
- Size:
- 761 Bytes
- Xet hash:
- ce18f012f9a447bda321d3834366250a412ed9125c459212396fab7deadf5157
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.