diff --git a/docs/PERFORMANCE.md b/docs/PERFORMANCE.md index ffe43179..fd753d92 100755 --- a/docs/PERFORMANCE.md +++ b/docs/PERFORMANCE.md @@ -31,7 +31,7 @@ Also consider decreasing the scanned subnet, e.g. from `/16` to `/24` if need be # Store temporary files in memory -You can also store temporary files in application memory (`/app/api` and `/app/log` folders). +You can also store temporary files in application memory (`/app/api` and `/app/log` folders). See highlighted lines `◀` below. ```yaml version: "3" @@ -49,8 +49,8 @@ services: # (optional) useful for debugging if you have issues setting up the container - local/path/logs:/app/log # (API: OPTION 1) use for performance - - type: tmpfs - target: /app/api + - type: tmpfs # ◀ + target: /app/api # ◀ # (API: OPTION 2) use when debugging issues # - local/path/api:/app/api environment: diff --git a/front/js/settings_utils.js b/front/js/settings_utils.js index 85cf64ec..6d8d94e7 100755 --- a/front/js/settings_utils.js +++ b/front/js/settings_utils.js @@ -1007,7 +1007,7 @@ function generateFormHtml(set, overrideValue) { id="${`${event}_${setKey}`}" data-myparam-setkey="${setKey}" data-myparam="${setKey}" - data-myparam-plugin="${setTypeObject.prefix || ''}" + data-myparam-plugin="${setKey.split('_')[0] || ''}" data-myevent="${event}" onclick="execute_settingEvent(this)"> diff --git a/front/php/templates/language/ca_ca.json b/front/php/templates/language/ca_ca.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/es_es.json b/front/php/templates/language/es_es.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/ru_ru.json b/front/php/templates/language/ru_ru.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/uk_ua.json b/front/php/templates/language/uk_ua.json old mode 100644 new mode 100755 diff --git a/front/plugins/__template/rename_me.py b/front/plugins/__template/rename_me.py index b744c4ca..5c844768 100755 --- a/front/plugins/__template/rename_me.py +++ b/front/plugins/__template/rename_me.py @@ -13,7 +13,7 @@ sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 from plugin_utils import get_plugins_configs -from logger import mylog +from logger import mylog, Logger from const import pluginsPath, fullDbPath, logPath from helper import timeNowTZ, get_setting_value from notification import write_notification @@ -22,6 +22,9 @@ import conf # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = '' # Define the current path and log file paths diff --git a/front/plugins/__test/test.py b/front/plugins/__test/test.py index 5db091e0..297a7767 100755 --- a/front/plugins/__test/test.py +++ b/front/plugins/__test/test.py @@ -22,7 +22,7 @@ import conf from const import apiPath, confFileName, logPath from plugin_utils import getPluginObject from plugin_helper import Plugin_Objects -from logger import mylog, append_line_to_file +from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value, bytes_to_string, sanitize_string, cleanDeviceName from notification import Notification_obj from database import DB, get_device_stats diff --git a/front/plugins/_publisher_apprise/apprise.py b/front/plugins/_publisher_apprise/apprise.py index 6adef06b..4e8a5f85 100755 --- a/front/plugins/_publisher_apprise/apprise.py +++ b/front/plugins/_publisher_apprise/apprise.py @@ -15,7 +15,7 @@ sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) import conf from const import confFileName, logPath from plugin_helper import Plugin_Objects -from logger import mylog, append_line_to_file +from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value from notification import Notification_obj from database import DB @@ -24,6 +24,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'APPRISE' LOG_PATH = logPath + '/plugins' diff --git a/front/plugins/_publisher_email/email_smtp.py b/front/plugins/_publisher_email/email_smtp.py index 8f0c7768..f1af907a 100755 --- a/front/plugins/_publisher_email/email_smtp.py +++ b/front/plugins/_publisher_email/email_smtp.py @@ -24,7 +24,7 @@ sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) import conf from const import confFileName, logPath from plugin_helper import Plugin_Objects -from logger import mylog, append_line_to_file, print_log +from logger import mylog, Logger, append_line_to_file, print_log from helper import timeNowTZ, get_setting_value, hide_email from notification import Notification_obj from database import DB @@ -33,6 +33,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'SMTP' LOG_PATH = logPath + '/plugins' diff --git a/front/plugins/_publisher_mqtt/mqtt.py b/front/plugins/_publisher_mqtt/mqtt.py index 1f20cc9a..6d849b86 100755 --- a/front/plugins/_publisher_mqtt/mqtt.py +++ b/front/plugins/_publisher_mqtt/mqtt.py @@ -26,7 +26,7 @@ import conf from const import apiPath, confFileName, logPath from plugin_utils import getPluginObject from plugin_helper import Plugin_Objects -from logger import mylog, append_line_to_file +from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value, bytes_to_string, sanitize_string, normalize_string from notification import Notification_obj from database import DB, get_device_stats @@ -35,6 +35,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'MQTT' LOG_PATH = logPath + '/plugins' diff --git a/front/plugins/_publisher_ntfy/ntfy.py b/front/plugins/_publisher_ntfy/ntfy.py index a1d7514f..6cca1008 100755 --- a/front/plugins/_publisher_ntfy/ntfy.py +++ b/front/plugins/_publisher_ntfy/ntfy.py @@ -18,7 +18,7 @@ sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) import conf from const import confFileName, logPath from plugin_helper import Plugin_Objects, handleEmpty -from logger import mylog, append_line_to_file +from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value from notification import Notification_obj from database import DB @@ -27,6 +27,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'NTFY' LOG_PATH = logPath + '/plugins' diff --git a/front/plugins/_publisher_pushover/pushover.py b/front/plugins/_publisher_pushover/pushover.py index 66fa26ab..a48e6663 100755 --- a/front/plugins/_publisher_pushover/pushover.py +++ b/front/plugins/_publisher_pushover/pushover.py @@ -10,7 +10,7 @@ INSTALL_PATH="/app" sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Objects, handleEmpty # noqa: E402 -from logger import mylog # noqa: E402 +from logger import mylog, Logger # noqa: E402 from helper import timeNowTZ, get_setting_value, hide_string # noqa: E402 from notification import Notification_obj # noqa: E402 from database import DB # noqa: E402 @@ -21,6 +21,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = "PUSHOVER" LOG_PATH = logPath + '/plugins' diff --git a/front/plugins/_publisher_pushsafer/pushsafer.py b/front/plugins/_publisher_pushsafer/pushsafer.py index 39ae6a60..ecbe7f4c 100755 --- a/front/plugins/_publisher_pushsafer/pushsafer.py +++ b/front/plugins/_publisher_pushsafer/pushsafer.py @@ -18,7 +18,7 @@ sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) import conf from const import confFileName, logPath from plugin_helper import Plugin_Objects, handleEmpty -from logger import mylog, append_line_to_file +from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value, hide_string from notification import Notification_obj from database import DB @@ -27,6 +27,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'PUSHSAFER' LOG_PATH = logPath + '/plugins' diff --git a/front/plugins/_publisher_telegram/tg.py b/front/plugins/_publisher_telegram/tg.py index 03a8bebc..557fa90c 100755 --- a/front/plugins/_publisher_telegram/tg.py +++ b/front/plugins/_publisher_telegram/tg.py @@ -15,7 +15,7 @@ sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) import conf from const import confFileName, logPath from plugin_helper import Plugin_Objects -from logger import mylog, append_line_to_file +from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value from notification import Notification_obj from database import DB @@ -24,6 +24,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'TELEGRAM' LOG_PATH = logPath + '/plugins' diff --git a/front/plugins/_publisher_webhook/webhook.py b/front/plugins/_publisher_webhook/webhook.py index 83d271cd..995500c3 100755 --- a/front/plugins/_publisher_webhook/webhook.py +++ b/front/plugins/_publisher_webhook/webhook.py @@ -21,7 +21,7 @@ sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) import conf from const import logPath, confFileName from plugin_helper import Plugin_Objects, handleEmpty -from logger import mylog, append_line_to_file +from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value, hide_string, write_file from notification import Notification_obj from database import DB @@ -30,6 +30,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'WEBHOOK' LOG_PATH = logPath + '/plugins' diff --git a/front/plugins/arp_scan/script.py b/front/plugins/arp_scan/script.py index 7e889da2..7d83b8b1 100755 --- a/front/plugins/arp_scan/script.py +++ b/front/plugins/arp_scan/script.py @@ -15,7 +15,7 @@ sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from database import DB from plugin_helper import Plugin_Object, Plugin_Objects, handleEmpty -from logger import mylog, append_line_to_file +from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value from const import logPath, applicationPath import conf @@ -24,6 +24,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'ARPSCAN' LOG_PATH = logPath + '/plugins' diff --git a/front/plugins/avahi_scan/avahi_scan.py b/front/plugins/avahi_scan/avahi_scan.py index 15a2c508..432a4c78 100755 --- a/front/plugins/avahi_scan/avahi_scan.py +++ b/front/plugins/avahi_scan/avahi_scan.py @@ -13,7 +13,7 @@ sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 from plugin_utils import get_plugins_configs -from logger import mylog +from logger import mylog, Logger from const import pluginsPath, fullDbPath, logPath from helper import timeNowTZ, get_setting_value from notification import write_notification @@ -25,6 +25,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'AVAHISCAN' # Define the current path and log file paths diff --git a/front/plugins/csv_backup/script.py b/front/plugins/csv_backup/script.py index f9837abb..8ce00f89 100755 --- a/front/plugins/csv_backup/script.py +++ b/front/plugins/csv_backup/script.py @@ -15,7 +15,7 @@ INSTALL_PATH="/app" sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 -from logger import mylog, append_line_to_file +from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value from const import logPath, applicationPath, fullDbPath import conf @@ -24,6 +24,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'CSVBCKP' LOG_PATH = logPath + '/plugins' diff --git a/front/plugins/db_cleanup/script.py b/front/plugins/db_cleanup/script.py index d979cacf..cf67e232 100755 --- a/front/plugins/db_cleanup/script.py +++ b/front/plugins/db_cleanup/script.py @@ -15,7 +15,7 @@ INSTALL_PATH="/app" sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 -from logger import mylog, append_line_to_file +from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value from const import logPath, applicationPath, fullDbPath import conf @@ -24,6 +24,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'DBCLNP' LOG_PATH = logPath + '/plugins' diff --git a/front/plugins/ddns_update/script.py b/front/plugins/ddns_update/script.py index e39bd79c..9b787cb5 100755 --- a/front/plugins/ddns_update/script.py +++ b/front/plugins/ddns_update/script.py @@ -18,7 +18,7 @@ INSTALL_PATH="/app" sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 -from logger import mylog, append_line_to_file +from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value, check_IP_format from const import logPath, applicationPath, fullDbPath import conf @@ -27,6 +27,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'DDNS' LOG_PATH = logPath + '/plugins' diff --git a/front/plugins/dhcp_leases/script.py b/front/plugins/dhcp_leases/script.py index 7253e034..491abebf 100755 --- a/front/plugins/dhcp_leases/script.py +++ b/front/plugins/dhcp_leases/script.py @@ -13,7 +13,7 @@ INSTALL_PATH="/app" sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Object, Plugin_Objects, handleEmpty, is_mac -from logger import mylog +from logger import mylog, Logger from dhcp_leases import DhcpLeases from helper import timeNowTZ, get_setting_value import conf @@ -23,6 +23,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName= 'DHCPLSS' LOG_PATH = logPath + '/plugins' diff --git a/front/plugins/dhcp_servers/script.py b/front/plugins/dhcp_servers/script.py index a7b1a068..90bf3e00 100755 --- a/front/plugins/dhcp_servers/script.py +++ b/front/plugins/dhcp_servers/script.py @@ -11,7 +11,7 @@ INSTALL_PATH="/app" sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Objects, Plugin_Object -from logger import mylog +from logger import mylog, Logger from helper import timeNowTZ, get_setting_value import conf from pytz import timezone @@ -19,6 +19,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + def main(): mylog('verbose', ['[DHCPSRVS] In script']) diff --git a/front/plugins/freebox/freebox.py b/front/plugins/freebox/freebox.py index 6f1b9652..8bcf9cd7 100755 --- a/front/plugins/freebox/freebox.py +++ b/front/plugins/freebox/freebox.py @@ -22,7 +22,7 @@ sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 from plugin_utils import get_plugins_configs -from logger import mylog +from logger import mylog, Logger from const import pluginsPath, fullDbPath, logPath from helper import timeNowTZ, get_setting_value from notification import write_notification @@ -31,6 +31,9 @@ import conf # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value("TIMEZONE")) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'FREEBOX' # Define the current path and log file paths diff --git a/front/plugins/icmp_scan/icmp.py b/front/plugins/icmp_scan/icmp.py index ae6d3134..3e0b0f25 100755 --- a/front/plugins/icmp_scan/icmp.py +++ b/front/plugins/icmp_scan/icmp.py @@ -19,7 +19,7 @@ INSTALL_PATH="/app" sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 -from logger import mylog, append_line_to_file +from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value from const import logPath, applicationPath, fullDbPath from database import DB @@ -30,6 +30,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'ICMP' LOG_PATH = logPath + '/plugins' diff --git a/front/plugins/internet_ip/script.py b/front/plugins/internet_ip/script.py index fe4a5a29..58e47852 100755 --- a/front/plugins/internet_ip/script.py +++ b/front/plugins/internet_ip/script.py @@ -19,7 +19,7 @@ INSTALL_PATH="/app" sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 -from logger import mylog, append_line_to_file +from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, check_IP_format, get_setting_value from const import logPath, applicationPath, fullDbPath import conf @@ -28,6 +28,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'INTRNT' LOG_PATH = logPath + '/plugins' diff --git a/front/plugins/internet_speedtest/script.py b/front/plugins/internet_speedtest/script.py index aa4e768f..6e9063ed 100755 --- a/front/plugins/internet_speedtest/script.py +++ b/front/plugins/internet_speedtest/script.py @@ -12,7 +12,7 @@ INSTALL_PATH="/app" sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Objects -from logger import mylog, append_line_to_file +from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value import conf from pytz import timezone @@ -21,6 +21,9 @@ from const import logPath # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'INTRSPD' LOG_PATH = logPath + '/plugins' diff --git a/front/plugins/ipneigh/ipneigh.py b/front/plugins/ipneigh/ipneigh.py index 486739e3..d0085339 100755 --- a/front/plugins/ipneigh/ipneigh.py +++ b/front/plugins/ipneigh/ipneigh.py @@ -16,7 +16,7 @@ sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64, handleEmpty from plugin_utils import get_plugins_configs -from logger import mylog +from logger import mylog, Logger from const import pluginsPath, fullDbPath, logPath from helper import timeNowTZ, get_setting_value from notification import write_notification @@ -25,6 +25,9 @@ import conf # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'IPNEIGH' # Define the current path and log file paths diff --git a/front/plugins/maintenance/maintenance.py b/front/plugins/maintenance/maintenance.py index 86b94d6e..e082cd41 100755 --- a/front/plugins/maintenance/maintenance.py +++ b/front/plugins/maintenance/maintenance.py @@ -16,7 +16,7 @@ INSTALL_PATH="/app" sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 -from logger import mylog, append_line_to_file +from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value from const import logPath, applicationPath import conf @@ -25,6 +25,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'MAINT' LOG_PATH = logPath + '/plugins' diff --git a/front/plugins/mikrotik_scan/mikrotik.py b/front/plugins/mikrotik_scan/mikrotik.py index d754b99f..84773288 100755 --- a/front/plugins/mikrotik_scan/mikrotik.py +++ b/front/plugins/mikrotik_scan/mikrotik.py @@ -17,7 +17,7 @@ INSTALL_PATH="/app" sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 -from logger import mylog, append_line_to_file +from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value from const import logPath, applicationPath, fullDbPath from database import DB @@ -30,6 +30,9 @@ from librouteros.exceptions import TrapError # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'MTSCAN' LOG_PATH = logPath + '/plugins' diff --git a/front/plugins/nbtscan_scan/nbtscan.py b/front/plugins/nbtscan_scan/nbtscan.py index ffb8f13f..ccc7f2a1 100755 --- a/front/plugins/nbtscan_scan/nbtscan.py +++ b/front/plugins/nbtscan_scan/nbtscan.py @@ -13,7 +13,7 @@ sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 from plugin_utils import get_plugins_configs -from logger import mylog +from logger import mylog, Logger from const import pluginsPath, fullDbPath, logPath from helper import timeNowTZ, get_setting_value from notification import write_notification @@ -25,6 +25,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'NBTSCAN' # Define the current path and log file paths diff --git a/front/plugins/nmap_dev_scan/nmap_dev.py b/front/plugins/nmap_dev_scan/nmap_dev.py index ad48049d..276dc056 100755 --- a/front/plugins/nmap_dev_scan/nmap_dev.py +++ b/front/plugins/nmap_dev_scan/nmap_dev.py @@ -20,7 +20,7 @@ INSTALL_PATH="/app" sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 -from logger import mylog, append_line_to_file +from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value, extract_between_strings, extract_ip_addresses, extract_mac_addresses from const import logPath, applicationPath, fullDbPath from database import DB @@ -31,6 +31,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'NMAPDEV' diff --git a/front/plugins/nmap_scan/script.py b/front/plugins/nmap_scan/script.py index 15b2a462..f1d23014 100755 --- a/front/plugins/nmap_scan/script.py +++ b/front/plugins/nmap_scan/script.py @@ -14,7 +14,7 @@ INSTALL_PATH="/app" sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 -from logger import mylog, append_line_to_file +from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value from const import logPath, applicationPath import conf @@ -23,6 +23,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'NMAP' LOG_PATH = logPath + '/plugins' diff --git a/front/plugins/nslookup_scan/nslookup.py b/front/plugins/nslookup_scan/nslookup.py index 050cac17..5085a492 100755 --- a/front/plugins/nslookup_scan/nslookup.py +++ b/front/plugins/nslookup_scan/nslookup.py @@ -19,7 +19,7 @@ INSTALL_PATH="/app" sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 -from logger import mylog, append_line_to_file +from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value from const import logPath, applicationPath, fullDbPath from database import DB @@ -30,6 +30,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'NSLOOKUP' LOG_PATH = logPath + '/plugins' diff --git a/front/plugins/omada_sdn_imp/omada_sdn.py b/front/plugins/omada_sdn_imp/omada_sdn.py index c59c22fe..2136b1a8 100755 --- a/front/plugins/omada_sdn_imp/omada_sdn.py +++ b/front/plugins/omada_sdn_imp/omada_sdn.py @@ -44,14 +44,19 @@ sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 from plugin_utils import get_plugins_configs -from logger import mylog +from logger import mylog, Logger from const import pluginsPath, fullDbPath, logPath from helper import timeNowTZ, get_setting_value from notification import write_notification from pytz import timezone import conf -conf.tz = timezone(get_setting_value("TIMEZONE")) +# Make sure the TIMEZONE for logging is correct +conf.tz = timezone(get_setting_value('TIMEZONE')) + +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + PARALLELISM = 4 pluginName = "OMDSDN" diff --git a/front/plugins/plugin_helper.py b/front/plugins/plugin_helper.py index 9b1af2a5..b386d290 100755 --- a/front/plugins/plugin_helper.py +++ b/front/plugins/plugin_helper.py @@ -10,7 +10,7 @@ INSTALL_PATH = "/app" sys.path.append(f"{INSTALL_PATH}/front/plugins") sys.path.append(f'{INSTALL_PATH}/server') -from logger import mylog +from logger import mylog, Logger from const import confFileName #------------------------------------------------------------------------------- diff --git a/front/plugins/snmp_discovery/script.py b/front/plugins/snmp_discovery/script.py index 543a56f0..149330f1 100755 --- a/front/plugins/snmp_discovery/script.py +++ b/front/plugins/snmp_discovery/script.py @@ -12,7 +12,7 @@ INSTALL_PATH="/app" sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64, handleEmpty, normalize_mac -from logger import mylog +from logger import mylog, Logger from helper import timeNowTZ, get_setting_value from const import logPath, applicationPath import conf @@ -21,6 +21,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = "SNMPDSC" LOG_PATH = logPath + '/plugins' diff --git a/front/plugins/sync/sync.py b/front/plugins/sync/sync.py index fab78a16..c06c5192 100755 --- a/front/plugins/sync/sync.py +++ b/front/plugins/sync/sync.py @@ -16,7 +16,7 @@ sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 from plugin_utils import get_plugins_configs, decode_and_rename_files -from logger import mylog +from logger import mylog, Logger from const import pluginsPath, fullDbPath, logPath from helper import timeNowTZ, get_setting_value from crypto_utils import encrypt_data @@ -27,6 +27,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'SYNC' # Define the current path and log file paths diff --git a/front/plugins/undiscoverables/script.py b/front/plugins/undiscoverables/script.py index fe2b00ca..cb95eae6 100755 --- a/front/plugins/undiscoverables/script.py +++ b/front/plugins/undiscoverables/script.py @@ -12,7 +12,7 @@ INSTALL_PATH="/app" sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64 -from logger import mylog, append_line_to_file +from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value from const import logPath, applicationPath import conf @@ -21,14 +21,15 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'UNDIS' LOG_PATH = logPath + '/plugins' LOG_FILE = os.path.join(LOG_PATH, f'script.{pluginName}.log') RESULT_FILE = os.path.join(LOG_PATH, f'last_result.{pluginName}.log') - - def main(): # the script expects a parameter in the format of devices=device1,device2,... diff --git a/front/plugins/unifi_import/script.py b/front/plugins/unifi_import/script.py index cf6d80be..a6b98c7d 100755 --- a/front/plugins/unifi_import/script.py +++ b/front/plugins/unifi_import/script.py @@ -20,7 +20,7 @@ INSTALL_PATH="/app" sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Object, Plugin_Objects, rmBadChars, is_typical_router_ip, is_mac -from logger import mylog +from logger import mylog, Logger from helper import timeNowTZ, get_setting_value, normalize_string import conf from pytz import timezone @@ -29,6 +29,9 @@ from const import logPath # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'UNFIMP' LOG_PATH = logPath + '/plugins' diff --git a/front/plugins/vendor_update/script.py b/front/plugins/vendor_update/script.py index 070a1432..400dec28 100755 --- a/front/plugins/vendor_update/script.py +++ b/front/plugins/vendor_update/script.py @@ -16,7 +16,7 @@ INSTALL_PATH="/app" sys.path.extend([f"{INSTALL_PATH}/front/plugins", f"{INSTALL_PATH}/server"]) from plugin_helper import Plugin_Object, Plugin_Objects, decodeBase64, handleEmpty -from logger import mylog, append_line_to_file +from logger import mylog, Logger, append_line_to_file from helper import timeNowTZ, get_setting_value from const import logPath, applicationPath, fullDbPath from device import query_MAC_vendor @@ -26,6 +26,9 @@ from pytz import timezone # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'VNDRPDT' diff --git a/front/plugins/website_monitor/script.py b/front/plugins/website_monitor/script.py index f437a47b..18d3c4e4 100755 --- a/front/plugins/website_monitor/script.py +++ b/front/plugins/website_monitor/script.py @@ -18,23 +18,33 @@ from const import logPath from helper import timeNowTZ, get_setting_value import conf from pytz import timezone +from logger import mylog, Logger # Make sure the TIMEZONE for logging is correct conf.tz = timezone(get_setting_value('TIMEZONE')) +# Make sure log level is initialized correctly +Logger(get_setting_value('LOG_LEVEL')) + pluginName = 'WEBMON' LOG_PATH = logPath + '/plugins' RESULT_FILE = os.path.join(LOG_PATH, f'last_result.{pluginName}.log') -def main(): - parser = argparse.ArgumentParser(description='Simple URL monitoring tool') - parser.add_argument('urls', action="store", help="URLs to check separated by ','") - values = parser.parse_args() - if values.urls: +mylog('verbose', [f'[{pluginName}] In script']) + +def main(): + + values = get_setting_value('WEBMON_urls_to_check') + + mylog('verbose', [f'[{pluginName}] Checking URLs: {values}']) + + + if len(values) > 0: plugin_objects = Plugin_Objects(RESULT_FILE) - plugin_objects = service_monitoring(values.urls.split('=')[1].split(','), plugin_objects) + # plugin_objects = service_monitoring(values.urls.split('=')[1].split(','), plugin_objects) + plugin_objects = service_monitoring(values, plugin_objects) plugin_objects.write_result_file() else: return diff --git a/log/.gitignore b/log/.gitignore old mode 100644 new mode 100755 diff --git a/log/plugins/.gitignore b/log/plugins/.gitignore old mode 100644 new mode 100755 diff --git a/server/helper.py b/server/helper.py index 8c58c492..ce556849 100755 --- a/server/helper.py +++ b/server/helper.py @@ -19,7 +19,6 @@ import random import string import ipaddress - import conf from const import * from logger import mylog, logResult @@ -336,13 +335,7 @@ def get_setting_value(key): #------------------------------------------------------------------------------- # Convert the setting value to the corresponding python type -import json -import base64 -import hashlib -import json -import base64 -import hashlib def setting_value_to_python_type(set_type, set_value): value = '----not processed----' diff --git a/server/logger.py b/server/logger.py index 3d3d6ce3..8a8a4205 100755 --- a/server/logger.py +++ b/server/logger.py @@ -22,7 +22,16 @@ debugLevels = [ ('none', 0), ('minimal', 1), ('verbose', 2), ('debug', 3), ('trace', 4) ] -currentLevel = 0 +# use the LOG_LEVEL from the config, may be overridden +currentLevel = conf.LOG_LEVEL + +#------------------------------------------------------------------------------- +class Logger: + def __init__(self, LOG_LEVEL='verbose'): + global currentLevel + + currentLevel = LOG_LEVEL + def mylog(requestedDebugLevel, n): setLvl = 0 @@ -30,7 +39,7 @@ def mylog(requestedDebugLevel, n): # Get debug urgency/relative weight for lvl in debugLevels: - if conf.LOG_LEVEL == lvl[0]: + if currentLevel == lvl[0]: setLvl = lvl[1] if requestedDebugLevel == lvl[0]: reqLvl = lvl[1]