You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			107 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			107 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
import logging
 | 
						|
 | 
						|
"""
 | 
						|
_logging.py
 | 
						|
websocket - WebSocket client library for Python
 | 
						|
 | 
						|
Copyright 2024 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(f"--- {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
 |