#!/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