From d5930f2ec395ad9f406bd1e5a18c3122bf0e10ae Mon Sep 17 00:00:00 2001 From: stornic56 <71296607+stornic56@users.noreply.github.com> Date: Tue, 29 Sep 2026 10:44:49 -0500 Subject: [PATCH] feat: logging a install.log MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Dual output en print_*: colores ANSI a stdout + texto plano a $LOG_FILE (default install.log, overridable) - El log es auxiliar: append guardado (su fallo de escritura — p.ej. log root-owned + doctor sin root — no aborta la operacion) - Verificado: doctor sin root escribe al log; 0 codigos ANSI en el log --- core/common.sh | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/core/common.sh b/core/common.sh index 7e3094b..829752f 100644 --- a/core/common.sh +++ b/core/common.sh @@ -1,9 +1,16 @@ #!/bin/bash # ------------------------------------------------------------------------------ # Common printing functions for all installer scripts. +# Dual output: colores ANSI a stdout + texto plano (sin codigos) a $LOG_FILE. +# El log es AUXILIAR: su fallo de escritura no debe abortar la operacion +# (p. ej. log root-owned + doctor sin root) — por eso el append va guardado. # ------------------------------------------------------------------------------ -print_step() { echo -e "\n\033[1;34m>>>\033[0m \033[1m$1\033[0m"; } -print_substep() { echo -e "\033[1;32m =>\033[0m $1"; } -print_warning() { echo -e "\033[1;33m [AVISO]\033[0m $1"; } -print_error() { echo -e "\033[1;31m [ERROR]\033[0m $1"; } +LOG_FILE="${LOG_FILE:-install.log}" + +_log_plain() { printf '%s\n' "$1" >> "$LOG_FILE" 2>/dev/null || true; } + +print_step() { echo -e "\n\033[1;34m>>>\033[0m \033[1m$1\033[0m"; _log_plain ""; _log_plain ">>> $1"; } +print_substep() { echo -e "\033[1;32m =>\033[0m $1"; _log_plain " => $1"; } +print_warning() { echo -e "\033[1;33m [AVISO]\033[0m $1"; _log_plain " [AVISO] $1"; } +print_error() { echo -e "\033[1;31m [ERROR]\033[0m $1"; _log_plain " [ERROR] $1"; }