diff --git a/blackbox/Functions.py b/blackbox/Functions.py index df8e6c7..7c70edd 100644 --- a/blackbox/Functions.py +++ b/blackbox/Functions.py @@ -5,9 +5,11 @@ from os import makedirs import sys import gi import subprocess -# import logging -from logging import Logger +import logging +# from logging import Logger import shutil +import Settings +from logging.handlers import TimedRotatingFileHandler gi.require_version("Gtk" "3.0") # GTK 2.0 is dead! from gi.repository import GLib, Gtk @@ -69,7 +71,7 @@ def permissions(dst): group = g.replace(")", "").strip() # NOTE: replace with nothing! subprocess.call(["chown", "-R", sudo_username + ":" + group, dst], shell=False) except Exception as e: - Logger.error(e) + logger.error(e) # NOTE: Creating Log, Export and Config Directory: try: @@ -93,3 +95,35 @@ except os.error as oserror: # NOTE: Read Config File dst: $HOME/.config/blackbox/blackbox.yaml # NOTE: Initiate logger +try: + settings = Settings(False, False) + settings_config = settings.read_config_file() + logger = logging.getLogger("logger") + # NOTE: Create a console handler + ch = logging.StreamHandler() + # NOTE: Rotate the fucking event log! + tfh = TimedRotatingFileHandler( + event_log_file, + encoding="UTF-8", + delay=False, + when="W4", + ) + + if settings_config: + debug_logging_enabled = None + debug_logging_enabled = settings_config[ + "Debug Logging" + ] + + if debug_logging_enabled is not None and debug_logging_enabled is True: + logger.setLevel(logging.DEBUG) + ch.setLevel(logging.DEBUG) + tfh.setLevel(level=logging.DEBUG) + else: + logger.setLevel(logging.INFO) + ch.setLevel(logging.INFO) + tfh.setLevel(level=logging.INFO) + else: + logger.setLevel(logging.INFO) + ch.setLevel(logging.INFO) + tfh.setLevel(level=logging.INFO) diff --git a/blackbox/Settings.py b/blackbox/Settings.py index b3794cd..678fe17 100644 --- a/blackbox/Settings.py +++ b/blackbox/Settings.py @@ -75,7 +75,7 @@ class Settings(object): except Exception as e: fn.Logger.error("[ERROR] Exception: %s" % e) - def read_cofig_file(self): + def read_config_file(self): try: if os.path.exists(fn.config_file): contents = [] @@ -125,4 +125,3 @@ class Settings(object): return conf_settings else: print("[ERROR] Failed To Read Settings!") - \ No newline at end of file