From 8d3bb781ee2643ad1076f4cbcc6f417245671e94 Mon Sep 17 00:00:00 2001 From: Lysandre Debut Date: Thu, 24 Sep 2020 16:59:21 +0200 Subject: [PATCH] Formatter (#7368) * Formatter * Docs --- docs/source/main_classes/logging.rst | 4 ++++ src/transformers/utils/logging.py | 29 ++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/docs/source/main_classes/logging.rst b/docs/source/main_classes/logging.rst index 2642726fec2..f087c4b5643 100644 --- a/docs/source/main_classes/logging.rst +++ b/docs/source/main_classes/logging.rst @@ -52,3 +52,7 @@ Other functions .. autofunction:: transformers.logging.set_verbosity .. autofunction:: transformers.logging.get_logger + +.. autofunction:: transformers.logging.enable_explicit_format + +.. autofunction:: transformers.logging.reset_format \ No newline at end of file diff --git a/src/transformers/utils/logging.py b/src/transformers/utils/logging.py index f677f4e7f1c..c6e8246585f 100644 --- a/src/transformers/utils/logging.py +++ b/src/transformers/utils/logging.py @@ -210,3 +210,32 @@ def enable_propagation() -> None: _configure_library_root_logger() _get_library_root_logger().propagate = True + + +def enable_explicit_format() -> None: + """ + Enable explicit formatting for every HuggingFace Transformers's logger. The explicit formatter is as follows: + + :: + + [LEVELNAME|FILENAME|LINE NUMBER] TIME >> MESSAGE + + All handlers currently bound to the root logger are affected by this method. + """ + handlers = _get_library_root_logger().handlers + + for handler in handlers: + formatter = logging.Formatter("[%(levelname)s|%(filename)s:%(lineno)s] %(asctime)s >> %(message)s") + handler.setFormatter(formatter) + + +def reset_format() -> None: + """ + Resets the formatting for HuggingFace Transformers's loggers. + + All handlers currently bound to the root logger are affected by this method. + """ + handlers = _get_library_root_logger().handlers + + for handler in handlers: + handler.setFormatter(None)