MCPcopy Create free account
hub / github.com/apple/ml-sharp / configure

Function configure

src/sharp/utils/logging.py:14–45  ·  view source on GitHub ↗

Configure logger globally. Args: log_level: The desired verbosity level. log_path: The path to write logs to. prefix: The prefix of the logger.

(log_level: int, log_path: Path | None = None, prefix: str | None = None)

Source from the content-addressed store, hash-verified

12
13
14def configure(log_level: int, log_path: Path | None = None, prefix: str | None = None) -> None:
15 """Configure logger globally.
16
17 Args:
18 log_level: The desired verbosity level.
19 log_path: The path to write logs to.
20 prefix: The prefix of the logger.
21 """
22 logger = logging.getLogger(prefix)
23
24 # Reset logger to initial state (e.g. to avoid side effects from imports).
25 for handler in logger.handlers:
26 logger.removeHandler(handler)
27
28 for filter in logger.filters:
29 logger.removeFilter(filter)
30
31 # Set level.
32 logger.setLevel(log_level)
33
34 formatter = logging.Formatter("%(asctime)s | %(levelname)s | %(message)s")
35
36 # Set up console handler.
37 stdout_handler = logging.StreamHandler(sys.stdout)
38 stdout_handler.setFormatter(formatter)
39 logger.addHandler(stdout_handler)
40
41 # Set up file handler.
42 if log_path is not None:
43 file_handler = logging.FileHandler(log_path, mode="w")
44 file_handler.setFormatter(formatter)
45 logger.addHandler(file_handler)

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected