mirror of
https://github.com/zebrajr/pytorch.git
synced 2025-12-07 12:21:27 +01:00
Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/87643 1. Add a decorator function exception_handlers to c10d collectives. 2. Update test(torch/distributed/distributed_c10d.py) to include mp tests for exception_handler. ``` python3 test/distributed/test_c10d_error_logger.py ``` Test Plan: Test in OSS. Reviewed By: H-Huang Differential Revision: D40281632 Pull Request resolved: https://github.com/pytorch/pytorch/pull/87988 Approved by: https://github.com/H-Huang
34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
#!/usr/bin/env python3
|
|
|
|
# Copyright (c) Facebook, Inc. and its affiliates.
|
|
# All rights reserved.
|
|
#
|
|
# This source code is licensed under the BSD-style license found in the
|
|
# LICENSE file in the root directory of this source tree.
|
|
|
|
import logging
|
|
from typing import List, Tuple
|
|
|
|
from torch.distributed.logging_handlers import _log_handlers
|
|
|
|
__all__: List[str] = []
|
|
|
|
|
|
def _get_or_create_logger() -> logging.Logger:
|
|
logging_handler, log_handler_name = _get_logging_handler()
|
|
logger = logging.getLogger(f"c10d-collectives-{log_handler_name}")
|
|
logger.setLevel(logging.DEBUG)
|
|
formatter = logging.Formatter(
|
|
"%(asctime)s %(filename)s:%(lineno)s %(levelname)s p:%(processName)s t:%(threadName)s: %(message)s"
|
|
)
|
|
logging_handler.setFormatter(formatter)
|
|
logger.propagate = False
|
|
logger.addHandler(logging_handler)
|
|
return logger
|
|
|
|
|
|
def _get_logging_handler(destination: str = "default") -> Tuple[logging.Handler, str]:
|
|
log_handler = _log_handlers[destination]
|
|
log_handler_name = type(log_handler).__name__
|
|
return (log_handler, log_handler_name)
|