added logging
This commit is contained in:
@@ -9,6 +9,7 @@ again.
|
||||
|
||||
## Changelog
|
||||
|
||||
<2025-09-27> - Beta b0.2.1 - added logging in $USER/.local/share/tempbox<br>
|
||||
<2025-09-27> - Beta b0.1.1 - added the version output<br>
|
||||
<2025-09-27> - Beta b0.1.1 - fixed verbosity switch for subprocess<br>
|
||||
<2025-09-27> - *Beta b0.0.1* - first release of tempbox
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
from .tempbox_logger import logger
|
||||
|
||||
|
||||
def create_folders(number_folders, base_path, verbosity=False):
|
||||
"""creates an amount of folders and returning its path"""
|
||||
@@ -25,9 +27,15 @@ def create_folders(number_folders, base_path, verbosity=False):
|
||||
|
||||
def execute_as_subprocess(command, base_path, verbosity=False):
|
||||
"""executes the string given with the '-c, --command' flag."""
|
||||
|
||||
logger.debug("Entered execute_as_subprocess()")
|
||||
logger.debug(f"Path:\t{base_path}\nCommand:\t{command}")
|
||||
|
||||
if verbosity:
|
||||
logger.info("Running subprocess with terminal output.")
|
||||
subprocess.run(command, cwd=base_path, shell=True)
|
||||
else:
|
||||
logger.info("Running with suppressed stdout and stderr")
|
||||
subprocess.run(
|
||||
command,
|
||||
cwd=base_path,
|
||||
@@ -35,3 +43,5 @@ def execute_as_subprocess(command, base_path, verbosity=False):
|
||||
stdout=subprocess.DEVNULL,
|
||||
stderr=subprocess.STDOUT,
|
||||
)
|
||||
|
||||
logger.debug("Exited execute_as_subprocess()")
|
||||
17
tempbox/src/modules/tempbox_logger.py
Normal file
17
tempbox/src/modules/tempbox_logger.py
Normal file
@@ -0,0 +1,17 @@
|
||||
import logging
|
||||
from pathlib import Path
|
||||
|
||||
log_dir = Path.home() / ".local" / "share" / "tempbox"
|
||||
log_dir.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
log_file = log_dir / "tempbox.log"
|
||||
|
||||
logging.basicConfig(
|
||||
level=logging.DEBUG,
|
||||
format="%(asctime)s - %(levelname)s - %(message)s",
|
||||
filename=log_file,
|
||||
)
|
||||
|
||||
logger = logging.getLogger()
|
||||
logger.debug(f"Log path:\t{log_dir}")
|
||||
logger.debug(f"Log file:\t{log_file}")
|
||||
@@ -1,9 +1,10 @@
|
||||
import tempfile
|
||||
import argparse
|
||||
|
||||
from tempbox_functions import execute_as_subprocess
|
||||
from modules.tempbox_functions import execute_as_subprocess
|
||||
from modules.tempbox_logger import logger
|
||||
|
||||
tempbox_version = "Tempbox Beta b0.1.1"
|
||||
tempbox_version = "Tempbox Beta b0.2.1"
|
||||
# Argument parsing
|
||||
parser = argparse.ArgumentParser(
|
||||
prog="Tempbox",
|
||||
@@ -31,6 +32,7 @@ args = parser.parse_args()
|
||||
|
||||
if args.command is not None:
|
||||
with tempfile.TemporaryDirectory() as temp_dir:
|
||||
logger.debug(f"'{temp_dir}' was created")
|
||||
if args.command is not None:
|
||||
execute_as_subprocess(
|
||||
args.command,
|
||||
@@ -39,6 +41,7 @@ if args.command is not None:
|
||||
)
|
||||
else:
|
||||
parser.print_help()
|
||||
logger.info("Printed Version")
|
||||
|
||||
|
||||
# Creates a temporary directory and executes the command in it.
|
||||
Reference in New Issue
Block a user