Esempio n. 1
0
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)
Esempio n. 2
0
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.")
Esempio n. 3
0
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.")