Initial commit: add .gitignore and README

This commit is contained in:
defiQUG
2026-02-09 21:51:52 -08:00
commit 5d47b3a5d9
49 changed files with 5633 additions and 0 deletions

57
lib/common/logging.sh Executable file
View File

@@ -0,0 +1,57 @@
#!/usr/bin/env bash
# Logging functions for scripts
# Usage: source "$(dirname "$0")/logging.sh"
# Requires: colors.sh
# Log levels (higher number = more verbose)
LOG_LEVEL_ERROR=0
LOG_LEVEL_WARN=1
LOG_LEVEL_INFO=2
LOG_LEVEL_DEBUG=3
# Default log level
LOG_LEVEL="${LOG_LEVEL:-$LOG_LEVEL_INFO}"
# Log functions
log_info() {
if [ "$LOG_LEVEL" -ge "$LOG_LEVEL_INFO" ]; then
echo -e "${GREEN}[INFO]${NC} $1" >&2
fi
}
log_error() {
if [ "$LOG_LEVEL" -ge "$LOG_LEVEL_ERROR" ]; then
echo -e "${RED}[ERROR]${NC} $1" >&2
fi
}
log_warn() {
if [ "$LOG_LEVEL" -ge "$LOG_LEVEL_WARN" ]; then
echo -e "${YELLOW}[WARN]${NC} $1" >&2
fi
}
log_debug() {
if [ "$LOG_LEVEL" -ge "$LOG_LEVEL_DEBUG" ]; then
echo -e "${CYAN}[DEBUG]${NC} $1" >&2
fi
}
log_success() {
echo -e "${GREEN}${NC} $1" >&2
}
log_failure() {
echo -e "${RED}${NC} $1" >&2
}
log_step() {
echo -e "${BLUE}📋${NC} $1" >&2
}
log_heading() {
echo -e "\n${BOLD_CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}" >&2
echo -e "${BOLD_CYAN}$1${NC}" >&2
echo -e "${BOLD_CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}\n" >&2
}