58 lines
1.3 KiB
Bash
Executable File
58 lines
1.3 KiB
Bash
Executable File
#!/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
|
|
}
|
|
|