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]