Loading...
No commits yet
Not committed History
Blame
logging.conf • 3.0 KB
#!/bin/bash
# -*- coding: utf-8 -*-
# Timestamp: "2025-11-12 (ywatanabe)"
# File: ./config/logging.conf
# Description: Centralized logging configuration for clean, readable output

# ============================================================================
# Logging Levels
# ============================================================================

# Verbosity level (0=quiet, 1=normal, 2=verbose, 3=debug)
SCITEX_LOG_LEVEL=${SCITEX_LOG_LEVEL:-1}

# Show script paths in "Running..." messages
SCITEX_LOG_SHOW_PATHS=${SCITEX_LOG_SHOW_PATHS:-false}

# Show individual file operations
SCITEX_LOG_SHOW_FILES=${SCITEX_LOG_SHOW_FILES:-false}

# Show git command output
SCITEX_LOG_SHOW_GIT=${SCITEX_LOG_SHOW_GIT:-false}

# ============================================================================
# Logging Functions
# ============================================================================

# Stage-level messages (always shown)
log_stage_start() {
    local stage="$1"
    local timestamp=$(date '+%H:%M:%S')
    echo -e "\033[0;34m▸\033[0m \033[1m${stage}\033[0m"
}

log_stage_end() {
    local stage="$1"
    local elapsed="$2"
    echo -e "\033[0;32m✓\033[0m ${stage} \033[0;90m(${elapsed}s)\033[0m"
}

# Process-level messages (shown in normal mode)
log_process() {
    if [ "$SCITEX_LOG_LEVEL" -ge 1 ]; then
        echo -e "  \033[0;90m→ $1\033[0m"
    fi
}

# Task-level messages (shown in verbose mode)
log_task() {
    if [ "$SCITEX_LOG_LEVEL" -ge 2 ]; then
        echo -e "    \033[0;90m• $1\033[0m"
    fi
}

# Success messages
log_success() {
    echo -e "  \033[0;32m✓\033[0m $1"
}

# Warning messages
log_warning() {
    echo -e "  \033[0;33m⚠\033[0m $1"
}

# Error messages
log_error() {
    echo -e "  \033[0;31m✗\033[0m $1"
}

# Info messages (shown in verbose mode)
log_info() {
    if [ "$SCITEX_LOG_LEVEL" -ge 2 ]; then
        echo -e "  \033[0;90mℹ $1\033[0m"
    fi
}

# Debug messages (shown in debug mode)
log_debug() {
    if [ "$SCITEX_LOG_LEVEL" -ge 3 ]; then
        echo -e "    \033[0;35m[DEBUG] $1\033[0m"
    fi
}

# ============================================================================
# Compatibility Aliases (for gradual migration)
# ============================================================================

echo_header() {
    log_stage_start "$1"
}

echo_info() {
    log_process "$1"
}

echo_success() {
    log_success "$1"
}

echo_warning() {
    log_warning "$1"
}

echo_error() {
    log_error "$1"
}

# ============================================================================
# Export Functions
# ============================================================================

export -f log_stage_start
export -f log_stage_end
export -f log_process
export -f log_task
export -f log_success
export -f log_warning
export -f log_error
export -f log_info
export -f log_debug
export -f echo_header
export -f echo_info
export -f echo_success
export -f echo_warning
export -f echo_error

export SCITEX_LOG_LEVEL
export SCITEX_LOG_SHOW_PATHS
export SCITEX_LOG_SHOW_FILES
export SCITEX_LOG_SHOW_GIT

# EOF