Fix: Logs visibles en consola Docker y ruta correcta /app/data/logs para volumen persistente (#8)

This commit is contained in:
2026-03-20 18:14:31 -06:00
parent 06da793709
commit 231eed0239
3 changed files with 42 additions and 94 deletions

View File

@@ -37,13 +37,29 @@ def start_process(cmd, name, delay_before=0):
log(f"✅ Iniciando {name}...")
log_path = f"{LOG_DIR}/{name.lower().replace(' ', '_')}.log"
with open(log_path, "a") as f:
p = subprocess.Popen(
cmd,
stdout=f,
stderr=subprocess.STDOUT,
preexec_fn=os.setsid
)
log_fd = open(log_path, "a")
# stdout va al archivo Y a la consola del contenedor (Docker logs)
p = subprocess.Popen(
cmd,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
preexec_fn=os.setsid
)
# Hilo que redirige la salida del proceso al archivo + consola
import threading
def tee_output(proc, fd, label):
for line in iter(proc.stdout.readline, b''):
decoded = line.decode("utf-8", errors="replace")
fd.write(decoded)
fd.flush()
print(f"[{label}] {decoded}", end="", flush=True)
fd.close()
t = threading.Thread(target=tee_output, args=(p, log_fd, name), daemon=True)
t.start()
processes.append((p, name))
return p