fix: send INFO/DEBUG to stdout, WARNING/ERROR to stderr

Fixes #182
This commit is contained in:
Rodos
2025-12-01 16:11:11 +11:00
parent 8b7512c8d8
commit 12802103c4

View File

@@ -16,12 +16,23 @@ from github_backup.github_backup import (
retrieve_repositories, retrieve_repositories,
) )
logging.basicConfig( # INFO and DEBUG go to stdout, WARNING and above go to stderr
format="%(asctime)s.%(msecs)03d: %(message)s", log_format = logging.Formatter(
fmt="%(asctime)s.%(msecs)03d: %(message)s",
datefmt="%Y-%m-%dT%H:%M:%S", datefmt="%Y-%m-%dT%H:%M:%S",
level=logging.INFO,
) )
stdout_handler = logging.StreamHandler(sys.stdout)
stdout_handler.setLevel(logging.DEBUG)
stdout_handler.addFilter(lambda r: r.levelno < logging.WARNING)
stdout_handler.setFormatter(log_format)
stderr_handler = logging.StreamHandler(sys.stderr)
stderr_handler.setLevel(logging.WARNING)
stderr_handler.setFormatter(log_format)
logging.basicConfig(level=logging.INFO, handlers=[stdout_handler, stderr_handler])
def main(): def main():
args = parse_args() args = parse_args()