diff --git a/.gitignore b/.gitignore index 6769e21..6096aa2 100644 --- a/.gitignore +++ b/.gitignore @@ -157,4 +157,7 @@ cython_debug/ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ \ No newline at end of file +#.idea/ + +# App logs +app.log \ No newline at end of file diff --git a/custom_print.py b/custom_print.py index e5c9975..0f06ee8 100644 --- a/custom_print.py +++ b/custom_print.py @@ -1,3 +1,4 @@ +import logging import termcolor """ @@ -9,4 +10,5 @@ Print a key-value pair with a key and value coloured differently. :returns: None """ def kv_print(key: str, value: str, newline: bool = False) -> None: + logging.info(f"{key}: {value}") print(termcolor.colored(key, "cyan") + ": " + termcolor.colored(value, "white"), end="\n" if newline else " ") \ No newline at end of file diff --git a/environment.py b/environment.py index bb7fbf6..f808d99 100644 --- a/environment.py +++ b/environment.py @@ -43,10 +43,10 @@ def detect_linux_environment(): def detect_environment(): if sys.platform == "linux": environment = detect_linux_environment() - logging.info(f"Detected environment is {environment} running on Linux") + logging.debug(f"Detected environment is {environment} running on Linux") else: environment = sys.platform - logging.info(f"Detected environment is {environment}") + logging.debug(f"Detected environment is {environment}") return environment """ @@ -55,6 +55,6 @@ def detect_environment(): def set_environment_wallpapers(environment: str, files: list, displays: list): if f"{environment}_setter" in environment_handlers: environment_handlers[f"{environment}_setter"](files, displays) - logging.info("Wallpapers set!") + logging.debug("Wallpapers set!") else: UnsupportedPlatform(f"Environment {environment} is not supported, sorry!") \ No newline at end of file diff --git a/environments/win32.py b/environments/win32.py index c4fe0f8..20b16c0 100644 --- a/environments/win32.py +++ b/environments/win32.py @@ -10,7 +10,7 @@ Pre-setting on Windows @add_environment("win32_init") def init(): os.system("color") - logging.info("Initialized for a Windows environment") + logging.debug("Initialized for a Windows environment") """ This sets wallpapers on Windows. @@ -20,9 +20,9 @@ This sets wallpapers on Windows. @add_environment("win32_setter") def set_wallpapers(files: list, displays: list): if len(files) > 1: - logging.info("Several monitors detected, going the hard route") + logging.debug("Several monitors detected, going the hard route") file = combine_to_viewport(displays, files) ctypes.windll.user32.SystemParametersInfoW(20, 0, file, 0) else: - logging.info("Detected only one monitor, setting wallpaper simply") + logging.debug("Detected only one monitor, setting wagilpaper simply") ctypes.windll.user32.SystemParametersInfoW(20, 0, files[0] , 0) \ No newline at end of file diff --git a/imager.py b/imager.py index 16d0a13..eefb244 100644 --- a/imager.py +++ b/imager.py @@ -12,6 +12,6 @@ def combine_to_viewport(displays: list, files: list): resized_image = open_image.resize((displays[i].width, displays[i].height)) combined.paste(resized_image, (displays[i].x, displays[i].y)) file = tempfile.NamedTemporaryFile(delete=False) - logging.info(f"Created temporary file {file.name} to save combined viewport image into") + logging.debug(f"Created temporary file {file.name} to save combined viewport image into") combined.save(file.name, format="PNG") return file diff --git a/main.py b/main.py index 5110b13..38b6164 100644 --- a/main.py +++ b/main.py @@ -22,16 +22,22 @@ def main(): if args.verbose: - logging.basicConfig(level=logging.DEBUG) + log_level = logging.DEBUG else: - logging.basicConfig(level=logging.WARNING) + log_level = logging.INFO + logging.basicConfig( + level=log_level, + filename="app.log", + filemode="a", + format="%(asctime)s - %(levelname)s - %(message)s" + ) logging.debug(f"Called with args={args}") import_dir(os.path.join(os.path.dirname(os.path.abspath( __file__ )), "sources")) - logging.info(f"Loaded source handlers: {', '.join(source_handlers)}") + logging.debug(f"Loaded source handlers: {', '.join(source_handlers)}") import_dir(os.path.join(os.path.dirname(os.path.abspath( __file__ )), "environments")) - logging.info(f"Loaded environment handlers: {', '.join(environment_handlers)}") + logging.debug(f"Loaded environment handlers: {', '.join(environment_handlers)}") environment = detect_environment() environment_handlers[environment + "_init"]() @@ -48,7 +54,7 @@ def main(): set_environment_wallpapers(environment, files, displays) else: environment_handlers[f"{args.environment}_setter"](files, displays) - logging.info("Wallpapers set!") + logging.debug("Wallpapers set!") if __name__ == "__main__": diff --git a/module_loader.py b/module_loader.py index 9a5ad76..3b2d22e 100644 --- a/module_loader.py +++ b/module_loader.py @@ -49,7 +49,7 @@ def add_environment(environment: str) -> callable: path = frame[0].f_code.co_filename def wrapper(function): environment_handlers[environment] = function - logging.info(f"Loaded environment handler {environment} from {path}") + logging.debug(f"Loaded environment handler {environment} from {path}") return wrapper """ @@ -65,5 +65,5 @@ def add_source(source: str) -> callable: path = frame[0].f_code.co_filename def wrapper(function): source_handlers[source] = function - logging.info(f"Loaded wallpaper source {source} from {path}") + logging.debug(f"Loaded wallpaper source {source} from {path}") return wrapper \ No newline at end of file