def prepareLoggers(logLevel: int, outDir: Path): logDir = outDir / "logs" logDir.mkdir(exist_ok=True) textFormatter = logging.Formatter( "[{asctime}] - {levelname} - {name} - {message}", style="{") notificationFormatter = logging.Formatter("[{asctime}] - {message}", style="{") streamHandler = logging.StreamHandler() streamHandler.setFormatter(textFormatter) fileHandler = logging.handlers.RotatingFileHandler(logDir / "player.log") fileHandler.setFormatter(textFormatter) pyrdpLogger = logging.getLogger(LOGGER_NAMES.PYRDP) pyrdpLogger.addHandler(streamHandler) pyrdpLogger.addHandler(fileHandler) pyrdpLogger.setLevel(logLevel) notifyHandler = NotifyHandler() notifyHandler.setFormatter(notificationFormatter) uiLogger = logging.getLogger(LOGGER_NAMES.PLAYER_UI) uiLogger.addHandler(notifyHandler)
def prepareLoggers(logLevel: int, outDir: Path): logDir = outDir / "logs" logDir.mkdir(exist_ok = True) textFormatter = logging.Formatter("[{asctime}] - {levelname} - {name} - {message}", style = "{") notificationFormatter = logging.Formatter("[{asctime}] - {message}", style = "{") streamHandler = logging.StreamHandler() streamHandler.setFormatter(textFormatter) fileHandler = logging.handlers.RotatingFileHandler(logDir / "player.log") fileHandler.setFormatter(textFormatter) pyrdpLogger = logging.getLogger(LOGGER_NAMES.PYRDP) pyrdpLogger.addHandler(streamHandler) pyrdpLogger.addHandler(fileHandler) pyrdpLogger.setLevel(logLevel) # https://docs.python.org/3/library/os.html if os.name != "nt": notifyHandler = NotifyHandler() notifyHandler.setFormatter(notificationFormatter) uiLogger = logging.getLogger(LOGGER_NAMES.PLAYER_UI) uiLogger.addHandler(notifyHandler) else: pyrdpLogger.warning("Notifications are not supported for your platform, they will be disabled.")
def enableNotifications(logger): """Enable notifications if supported.""" # https://docs.python.org/3/library/os.html if os.name != "nt": notifyHandler = NotifyHandler() notifyHandler.setFormatter(logging.Formatter("[{asctime}] - {message}", style="{")) uiLogger = logging.getLogger(LOGGER_NAMES.PLAYER_UI) uiLogger.addHandler(notifyHandler) else: logger.warning("Notifications are not supported on this platform.")