chore: apply pending code updates

This commit is contained in:
2026-03-17 11:39:27 +01:00
parent e5fae0a0a2
commit 92bd55ada1
45 changed files with 2236 additions and 2130 deletions

View File

@@ -82,7 +82,7 @@ class LogManager:
log_path = self.log_dir / log_file
if not log_path.exists():
logger.warning(f"Log file not found: {log_file}")
logger.warning("Log file not found: %s", log_file)
return False
stat = log_path.stat()
@@ -99,10 +99,10 @@ class LogManager:
# Compress the rotated file
self._compress_log(rotated_path)
logger.info(f"Rotated log file: {log_file} -> {rotated_name}")
logger.info("Rotated log file: %s -> %s", log_file, rotated_name)
return True
except Exception as e:
logger.error(f"Failed to rotate log file {log_file}: {e}")
logger.error("Failed to rotate log file %s: %s", log_file, e)
return False
def _compress_log(self, log_path: Path) -> bool:
@@ -122,10 +122,10 @@ class LogManager:
shutil.copyfileobj(f_in, f_out)
log_path.unlink()
logger.debug(f"Compressed log file: {log_path.name}")
logger.debug("Compressed log file: %s", log_path.name)
return True
except Exception as e:
logger.error(f"Failed to compress log {log_path}: {e}")
logger.error("Failed to compress log %s: %s", log_path, e)
return False
def archive_old_logs(
@@ -160,10 +160,10 @@ class LogManager:
f"Failed to archive {log_file.filename}: {e}"
)
logger.info(f"Archived {archived_count} old log files")
logger.info("Archived %s old log files", archived_count)
return archived_count
except Exception as e:
logger.error(f"Failed to archive logs: {e}")
logger.error("Failed to archive logs: %s", e)
return 0
def search_logs(
@@ -209,7 +209,7 @@ class LogManager:
)
return results
except Exception as e:
logger.error(f"Failed to search logs: {e}")
logger.error("Failed to search logs: %s", e)
return {}
def export_logs(
@@ -243,7 +243,7 @@ class LogManager:
arcname=log_file.filename,
)
logger.info(f"Exported logs to: {tar_path}")
logger.info("Exported logs to: %s", tar_path)
return True
else:
# Concatenate all logs
@@ -253,10 +253,10 @@ class LogManager:
with open(log_file.path, "r") as in_f:
out_f.write(in_f.read())
logger.info(f"Exported logs to: {output_path}")
logger.info("Exported logs to: %s", output_path)
return True
except Exception as e:
logger.error(f"Failed to export logs: {e}")
logger.error("Failed to export logs: %s", e)
return False
def get_log_stats(self) -> Dict[str, Any]:
@@ -294,7 +294,7 @@ class LogManager:
"newest_file": log_files[0].filename,
}
except Exception as e:
logger.error(f"Failed to get log stats: {e}")
logger.error("Failed to get log stats: %s", e)
return {}
def cleanup_logs(
@@ -330,16 +330,16 @@ class LogManager:
log_file.path.unlink()
total_size -= log_file.size_bytes
deleted_count += 1
logger.debug(f"Deleted log file: {log_file.filename}")
logger.debug("Deleted log file: %s", log_file.filename)
except Exception as e:
logger.warning(
f"Failed to delete {log_file.filename}: {e}"
)
logger.info(f"Cleaned up {deleted_count} log files")
logger.info("Cleaned up %s log files", deleted_count)
return deleted_count
except Exception as e:
logger.error(f"Failed to cleanup logs: {e}")
logger.error("Failed to cleanup logs: %s", e)
return 0
def set_log_level(self, logger_name: str, level: str) -> bool:
@@ -357,10 +357,10 @@ class LogManager:
target_logger = logging.getLogger(logger_name)
target_logger.setLevel(log_level)
logger.info(f"Set {logger_name} log level to {level}")
logger.info("Set %s log level to %s", logger_name, level)
return True
except Exception as e:
logger.error(f"Failed to set log level: {e}")
logger.error("Failed to set log level: %s", e)
return False

View File

@@ -416,9 +416,9 @@ def cleanup_old_logs(log_dir: Union[str, Path],
try:
if log_file.stat().st_mtime < cutoff_time:
log_file.unlink()
logger.info(f"Deleted old log file: {log_file}")
logger.info("Deleted old log file: %s", log_file)
except Exception as e:
logger.error(f"Failed to delete log file {log_file}: {e}")
logger.error("Failed to delete log file %s: %s", log_file, e)
# Initialize default logging configuration

View File

@@ -161,7 +161,7 @@ class MetricsCollector:
Duration in seconds.
"""
if timer_name not in self._timers:
logger.warning(f"Timer {timer_name} not started")
logger.warning("Timer %s not started", timer_name)
return 0.0
duration = time.time() - self._timers[timer_name]

View File

@@ -60,7 +60,7 @@ class SystemUtilities:
path=path,
)
except Exception as e:
logger.error(f"Failed to get disk usage for {path}: {e}")
logger.error("Failed to get disk usage for %s: %s", path, e)
return None
@staticmethod
@@ -93,7 +93,7 @@ class SystemUtilities:
return disk_infos
except Exception as e:
logger.error(f"Failed to get all disk usage: {e}")
logger.error("Failed to get all disk usage: %s", e)
return []
@staticmethod
@@ -115,7 +115,7 @@ class SystemUtilities:
path = Path(directory)
if not path.exists():
logger.warning(f"Directory not found: {directory}")
logger.warning("Directory not found: %s", directory)
return 0
deleted_count = 0
@@ -130,16 +130,16 @@ class SystemUtilities:
try:
file_path.unlink()
deleted_count += 1
logger.debug(f"Deleted file: {file_path}")
logger.debug("Deleted file: %s", file_path)
except Exception as e:
logger.warning(
f"Failed to delete {file_path}: {e}"
)
logger.info(f"Cleaned up {deleted_count} files from {directory}")
logger.info("Cleaned up %s files from %s", deleted_count, directory)
return deleted_count
except Exception as e:
logger.error(f"Failed to cleanup directory {directory}: {e}")
logger.error("Failed to cleanup directory %s: %s", directory, e)
return 0
@staticmethod
@@ -171,12 +171,12 @@ class SystemUtilities:
f"Deleted empty directory: {dir_path}"
)
except Exception as e:
logger.debug(f"Cannot delete {dir_path}: {e}")
logger.debug("Cannot delete %s: %s", dir_path, e)
logger.info(f"Cleaned up {deleted_count} empty directories")
logger.info("Cleaned up %s empty directories", deleted_count)
return deleted_count
except Exception as e:
logger.error(f"Failed to cleanup empty directories: {e}")
logger.error("Failed to cleanup empty directories: %s", e)
return 0
@staticmethod
@@ -201,7 +201,7 @@ class SystemUtilities:
return total_size
except Exception as e:
logger.error(f"Failed to get directory size for {directory}: {e}")
logger.error("Failed to get directory size for %s: %s", directory, e)
return 0
@staticmethod
@@ -232,7 +232,7 @@ class SystemUtilities:
),
)
except Exception as e:
logger.error(f"Failed to get process info for {pid}: {e}")
logger.error("Failed to get process info for %s: %s", pid, e)
return None
@staticmethod
@@ -260,7 +260,7 @@ class SystemUtilities:
return processes
except Exception as e:
logger.error(f"Failed to get all processes: {e}")
logger.error("Failed to get all processes: %s", e)
return []
@staticmethod
@@ -285,7 +285,7 @@ class SystemUtilities:
"python_version": platform.python_version(),
}
except Exception as e:
logger.error(f"Failed to get system info: {e}")
logger.error("Failed to get system info: %s", e)
return {}
@staticmethod
@@ -308,7 +308,7 @@ class SystemUtilities:
"dropped_out": net_io.dropout,
}
except Exception as e:
logger.error(f"Failed to get network info: {e}")
logger.error("Failed to get network info: %s", e)
return {}
@staticmethod
@@ -330,7 +330,7 @@ class SystemUtilities:
dest_path = Path(dest)
if not src_path.exists():
logger.error(f"Source file not found: {src}")
logger.error("Source file not found: %s", src)
return False
# Create temporary file
@@ -342,10 +342,10 @@ class SystemUtilities:
# Atomic rename
temp_path.replace(dest_path)
logger.debug(f"Atomically copied {src} to {dest}")
logger.debug("Atomically copied %s to %s", src, dest)
return True
except Exception as e:
logger.error(f"Failed to copy file {src} to {dest}: {e}")
logger.error("Failed to copy file %s to %s: %s", src, dest, e)
return False