LOG

Il comando $b3[LOG] salva l’esecuzione di un qualsiasi comando in un formato espresso nella proprietà tra parentesi graffe “{}”.

Esempio:

Devo tracciare l’esecuzione di un comando “V” ogni volta che questo viene eseguito all’interno di un OBJECT

$b3[7][OBJ]{
    $b3[1][V] = "fai questo"
    $b3[2][V] = "poi fai questo"
}

$b3[1][LOG]{
   $b3[7][OBJ].$b3[2][V] = "salva data in formato ore-minuti-secondi-giorno-mese-anno"
}

Per tracciare l’attività dell’oggetto, comprensivo di tutte le sue proprietà

$b3[1][LOG]{
   $b3[7][OBJ] = "fai questo"
}

Possiamo definire la stessa operazione anche la proprietà del comando

$b3[7][OBJ].$b3[1][LOG]

o nella sua forma contratta

$b3[7][OBJ].[1][LOG]

Tenendo presente che in questo caso il comando LOG deve essere precedentemente definito in forma astratta nella recipe.

Nel caso in cui non sia definito precedentemente un log ma sia stato comunque assegnato come proprietà vale la regola che, a buon senso, questo comando dovrebbe essere definitivo.

Si può quindi assegnare un LOG a qualsiasi comando, posizionarlo nei punti chiave dell’algoritmo e successivamente definirne il funzionamento.

Il LOG inoltre non fa riferimento esclusivamente ad un tracciamento di tipo “Data”.

LOG è un comando astratto e come tale può assumere una forma libera di rappresentazione, combinandolo anche con altri comandi per renderlo ancora più preciso dal punto di vista delle “cose che accadono” nel momento in cui si effettua un $b3[LOG]. Un esempio è la combinazione con il comando $b3[PUSH].

// definisco il mio log in modo generico
$b3[1][LOG]{
   $b3[1][V] = "salva nel database"
}

// utilizzo il comando LOG come proprietà del commando OBJ
$b3[7][OBJ].$b3[1][LOG]{
    //codice
}