MCPcopy Create free account
hub / github.com/datapane/datapane / _setup_dp_logging

Function _setup_dp_logging

python-client/src/datapane/client/utils.py:30–83  ·  view source on GitHub ↗
(verbosity: int = 0, logs_stream: t.TextIO = None)

Source from the content-addressed store, hash-verified

28
29
30def _setup_dp_logging(verbosity: int = 0, logs_stream: t.TextIO = None) -> None:
31 global _have_setup_logging
32
33 log_level = "WARNING"
34 if verbosity == 1:
35 log_level = "INFO"
36 elif verbosity > 1:
37 log_level = "DEBUG"
38
39 # don't configure global logging config when running as a library
40 if get_dp_mode() == DPMode.LIBRARY:
41 log.warning("Configuring datapane logging in library mode")
42 # return None
43
44 # TODO - only allow setting once?
45 if _have_setup_logging:
46 log.warning(f"Reconfiguring datapane logger when running as {get_dp_mode().name}")
47 # raise AssertionError("Attempting to reconfigure datapane logger")
48 return None
49
50 # initial setup via dict-config
51 _have_setup_logging = True
52 log_config = {
53 "version": 1,
54 "disable_existing_loggers": False,
55 "formatters": {
56 "colored": {
57 "()": "colorlog.ColoredFormatter",
58 "format": "[%(blue)s%(asctime)s%(reset)s] [%(log_color)s%(levelname)-5s%(reset)s] %(message)s",
59 "datefmt": "%H:%M:%S",
60 "reset": True,
61 "log_colors": {
62 "DEBUG": "cyan",
63 "INFO": "green",
64 "WARNING": "yellow",
65 "ERROR": "red",
66 "CRITICAL": "red,bg_white",
67 },
68 "style": "%",
69 }
70 },
71 "handlers": {
72 "console": {
73 "class": "logging.StreamHandler",
74 "level": log_level,
75 "formatter": "colored",
76 "stream": logs_stream or sys.stderr,
77 }
78 },
79 "loggers": {"datapane": {"level": log_level, "propagate": True}},
80 # only show INFO for anything else
81 "root": {"handlers": ["console"], "level": "INFO"},
82 }
83 logging.config.dictConfig(log_config)
84
85
86def enable_logging():

Callers 2

dp_setupFunction · 0.90
enable_loggingFunction · 0.85

Calls 1

get_dp_modeFunction · 0.85

Tested by 1

dp_setupFunction · 0.72