aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/websocket-client/py3/websocket/_logging.py
diff options
context:
space:
mode:
authoralexv-smirnov <alex@ydb.tech>2023-12-01 12:02:50 +0300
committeralexv-smirnov <alex@ydb.tech>2023-12-01 13:28:10 +0300
commit0e578a4c44d4abd539d9838347b9ebafaca41dfb (patch)
treea0c1969c37f818c830ebeff9c077eacf30be6ef8 /contrib/python/websocket-client/py3/websocket/_logging.py
parent84f2d3d4cc985e63217cff149bd2e6d67ae6fe22 (diff)
downloadydb-0e578a4c44d4abd539d9838347b9ebafaca41dfb.tar.gz
Change "ya.make"
Diffstat (limited to 'contrib/python/websocket-client/py3/websocket/_logging.py')
-rw-r--r--contrib/python/websocket-client/py3/websocket/_logging.py93
1 files changed, 93 insertions, 0 deletions
diff --git a/contrib/python/websocket-client/py3/websocket/_logging.py b/contrib/python/websocket-client/py3/websocket/_logging.py
new file mode 100644
index 0000000000..806de4d41f
--- /dev/null
+++ b/contrib/python/websocket-client/py3/websocket/_logging.py
@@ -0,0 +1,93 @@
+import logging
+
+"""
+_logging.py
+websocket - WebSocket client library for Python
+
+Copyright 2023 engn33r
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+_logger = logging.getLogger('websocket')
+try:
+ from logging import NullHandler
+except ImportError:
+ class NullHandler(logging.Handler):
+ def emit(self, record) -> None:
+ pass
+
+_logger.addHandler(NullHandler())
+
+_traceEnabled = False
+
+__all__ = ["enableTrace", "dump", "error", "warning", "debug", "trace",
+ "isEnabledForError", "isEnabledForDebug", "isEnabledForTrace"]
+
+
+def enableTrace(traceable: bool,
+ handler: logging.StreamHandler = logging.StreamHandler(),
+ level: str = "DEBUG") -> None:
+ """
+ Turn on/off the traceability.
+
+ Parameters
+ ----------
+ traceable: bool
+ If set to True, traceability is enabled.
+ """
+ global _traceEnabled
+ _traceEnabled = traceable
+ if traceable:
+ _logger.addHandler(handler)
+ _logger.setLevel(getattr(logging, level))
+
+
+def dump(title: str, message: str) -> None:
+ if _traceEnabled:
+ _logger.debug("--- " + title + " ---")
+ _logger.debug(message)
+ _logger.debug("-----------------------")
+
+
+def error(msg: str) -> None:
+ _logger.error(msg)
+
+
+def warning(msg: str) -> None:
+ _logger.warning(msg)
+
+
+def debug(msg: str) -> None:
+ _logger.debug(msg)
+
+
+def info(msg: str) -> None:
+ _logger.info(msg)
+
+
+def trace(msg: str) -> None:
+ if _traceEnabled:
+ _logger.debug(msg)
+
+
+def isEnabledForError() -> bool:
+ return _logger.isEnabledFor(logging.ERROR)
+
+
+def isEnabledForDebug() -> bool:
+ return _logger.isEnabledFor(logging.DEBUG)
+
+
+def isEnabledForTrace() -> bool:
+ return _traceEnabled