Source code for nqs_sdk.utils.logging

import logging
from datetime import datetime
from typing import Any


def _format_time(self, record, datefmt=None):  # type: ignore[no-untyped-def]
    return datetime.fromtimestamp(record.created).isoformat(timespec="microseconds")


logging.basicConfig(level=logging.INFO, format="%(asctime)sZ %(levelname)5s %(name)s: %(message)s")
logging.Formatter.formatTime = _format_time  # type: ignore[method-assign]


[docs] def local_logger(name: str) -> Any: return logging.getLogger(name)
[docs] def global_logger(name: str) -> Any: # Clear existing handlers from the root logger root_logger = logging.getLogger() for handler in root_logger.handlers[:]: root_logger.removeHandler(handler) # Set up the formatter with the desired format formatter = logging.Formatter("%(asctime)sZ %(levelname)5s %(name)s: %(message)s", "%Y-%m-%dT%H:%M:%S.%f") # Create a console handler and set its formatter console_handler = logging.StreamHandler() console_handler.setFormatter(formatter) # Add the handler to the root logger root_logger.addHandler(console_handler) root_logger.setLevel(logging.DEBUG) return logging.getLogger(__name__)