From 03035d0eacfec73fa0dde2d8818210634dc71bac Mon Sep 17 00:00:00 2001 From: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com> Date: Tue, 28 Apr 2020 18:04:05 -0700 Subject: [PATCH] Prevent spamming the logs with remote access failures --- plexpy/activity_pinger.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/plexpy/activity_pinger.py b/plexpy/activity_pinger.py index 7454245f..3ebd4bfb 100644 --- a/plexpy/activity_pinger.py +++ b/plexpy/activity_pinger.py @@ -31,6 +31,7 @@ import web_socket monitor_lock = threading.Lock() ext_ping_count = 0 +ext_ping_error = None int_ping_count = 0 @@ -309,18 +310,25 @@ def check_server_access(): server_response = pms_connect.get_server_response() global ext_ping_count + global ext_ping_error # Check for remote access if server_response: + log = (server_response['mapping_error'] != ext_ping_error) + if server_response['reason']: ext_ping_count += 1 - logger.warn(u"Tautulli Monitor :: Remote access failed: %s, ping attempt %s." \ - % (server_response['reason'], str(ext_ping_count))) + ext_ping_error = server_response['mapping_error'] + if log: + logger.warn(u"Tautulli Monitor :: Remote access failed: %s, ping attempt %s." + % (server_response['reason'], str(ext_ping_count))) # Waiting for port mapping elif server_response['mapping_state'] == 'waiting': - logger.warn(u"Tautulli Monitor :: Remote access waiting for port mapping, ping attempt %s." \ - % str(ext_ping_count)) + ext_ping_error = server_response['mapping_error'] + if log: + logger.warn(u"Tautulli Monitor :: Remote access waiting for port mapping, ping attempt %s." + % str(ext_ping_count)) # Reset external ping counter else: @@ -330,8 +338,10 @@ def check_server_access(): plexpy.NOTIFY_QUEUE.put({'notify_action': 'on_extup', 'remote_access_info': server_response}) ext_ping_count = 0 + ext_ping_error = None if ext_ping_count == plexpy.CONFIG.REMOTE_ACCESS_PING_THRESHOLD: + logger.info(u"Tautulli Monitor: Plex remote access is down.") plexpy.NOTIFY_QUEUE.put({'notify_action': 'on_extdown', 'remote_access_info': server_response})