Download sentence_transformers/LoggingHandler.py from lengocduc195/SentenceTransformer: direct link, hf CLI and curl.
- Browser
- Download file 1.77 kB
-
https://huggingface.co/lengocduc195/SentenceTransformer/resolve/main/sentence_transformers/LoggingHandler.py
- Command line
-
hf download hf://lengocduc195/SentenceTransformer/sentence_transformers/LoggingHandler.py
-
curl -L -o LoggingHandler.py https://huggingface.co/lengocduc195/SentenceTransformer/resolve/main/sentence_transformers/LoggingHandler.py
1.77 kB
| import logging | |
| import tqdm | |
| class LoggingHandler(logging.Handler): | |
| def __init__(self, level=logging.NOTSET): | |
| super().__init__(level) | |
| def emit(self, record): | |
| try: | |
| msg = self.format(record) | |
| tqdm.tqdm.write(msg) | |
| self.flush() | |
| except (KeyboardInterrupt, SystemExit): | |
| raise | |
| except: | |
| self.handleError(record) | |
| def install_logger( | |
| given_logger, level = logging.WARNING, fmt="%(levelname)s:%(name)s:%(message)s" | |
| ): | |
| """ Configures the given logger; format, logging level, style, etc """ | |
| import coloredlogs | |
| def add_notice_log_level(): | |
| """ Creates a new 'notice' logging level """ | |
| # inspired by: | |
| # https://stackoverflow.com/questions/2183233/how-to-add-a-custom-loglevel-to-pythons-logging-facility | |
| NOTICE_LEVEL_NUM = 25 | |
| logging.addLevelName(NOTICE_LEVEL_NUM, "NOTICE") | |
| def notice(self, message, *args, **kws): | |
| if self.isEnabledFor(NOTICE_LEVEL_NUM): | |
| self._log(NOTICE_LEVEL_NUM, message, args, **kws) | |
| logging.Logger.notice = notice | |
| # Add an extra logging level above INFO and below WARNING | |
| add_notice_log_level() | |
| # More style info at: | |
| # https://coloredlogs.readthedocs.io/en/latest/api.html | |
| field_styles = coloredlogs.DEFAULT_FIELD_STYLES.copy() | |
| field_styles["asctime"] = {} | |
| level_styles = coloredlogs.DEFAULT_LEVEL_STYLES.copy() | |
| level_styles["debug"] = {"color": "white", "faint": True} | |
| level_styles["notice"] = {"color": "cyan", "bold": True} | |
| coloredlogs.install( | |
| logger=given_logger, | |
| level=level, | |
| use_chroot=False, | |
| fmt=fmt, | |
| level_styles=level_styles, | |
| field_styles=field_styles, | |
| ) | |