package services import ( "log" "os" ) var ( LogFile *os.File ) // Inicializa el logger y redirige la salida a un archivo func LoggerInit(logPath string) error { var err error // Crear carpeta si no existe err = os.MkdirAll("logs", os.ModePerm) if err != nil { return err } LogFile, err = os.OpenFile(logPath, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) if err != nil { return err } log.SetOutput(LogFile) log.SetFlags(log.LstdFlags | log.Lshortfile) // Fecha + nombre archivo + línea return nil } // Cierra el archivo de log (útil para defer) func LoggerClose() { if LogFile != nil { LogFile.Close() } }