Buckets:
| import logging | |
| import sys | |
| from pathlib import Path | |
| from typing import Optional | |
| from loguru import logger | |
| def setup_logger( | |
| log_level: str = "INFO", log_file: Optional[str] = None, console_output: bool = True | |
| ) -> None: | |
| logger.remove() | |
| if console_output: | |
| logger.add( | |
| sys.stderr, | |
| format="<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level: <8}</level> | <cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>", | |
| level=log_level, | |
| colorize=True, | |
| ) | |
| if log_file: | |
| log_path = Path(log_file) | |
| log_path.parent.mkdir(parents=True, exist_ok=True) | |
| logger.add( | |
| log_file, | |
| format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}", | |
| level=log_level, | |
| rotation="10 MB", | |
| retention="7 days", | |
| compression="zip", | |
| ) | |
| logger.info(f"Logging initialized with level: {log_level}") | |
| def get_logger(name: str) -> logger: | |
| return logger.bind(name=name) | |
Xet Storage Details
- Size:
- 1.09 kB
- Xet hash:
- ddd21a9c643077d0eeca7cfd943f4782521baca8491af9cadefd79eeb3216a64
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.