25 lines
658 B
Python
25 lines
658 B
Python
import logging
|
|
import sys
|
|
from logging import Handler, StreamHandler
|
|
|
|
|
|
def setup_logging(verbose: bool = False, log_file: str | None = None) -> logging.Logger:
|
|
log_level = logging.DEBUG if verbose else logging.INFO
|
|
|
|
handlers: list[Handler] = [StreamHandler(sys.stderr)]
|
|
|
|
if log_file:
|
|
handlers.append(logging.FileHandler(log_file))
|
|
|
|
logging.basicConfig(
|
|
level=log_level,
|
|
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
|
|
handlers=handlers,
|
|
)
|
|
|
|
return logging.getLogger("tcga_downloader")
|
|
|
|
|
|
def get_logger(name: str) -> logging.Logger:
|
|
return logging.getLogger(f"tcga_downloader.{name}")
|