Libreria per il logging degli errori

Discussioni generali sulla programmazione in LabVIEW, domande, problemi e soluzioni.

Moderatore: ILVG mod

  • Advertisement

Libreria per il logging degli errori

Messaggioda ratataplam » mer nov 14, 2018 6:31 pm

Salve,

vorrei farmi una libreria per distribuire la capacità di tracciare i fault su file. In pratica vorrei mettere a disposizione delle chiamate a "funzione" che mi salvano su file informazioni sulle varie cause d'errore. Quindi 1 solo file accendibile\scrivibile da diversi processi. Avete da segnalarmi qualche esempio?
Grazie
ratataplam
Nuovo Utente
Nuovo Utente
 
Messaggi: 19
Iscritto il: gio dic 12, 2013 12:46 pm

Re: Libreria per il logging degli errori

Messaggioda aris » gio nov 15, 2018 8:31 am

Ti basta una semplice Funtional Global Variable (o action engine).

Aris
E' sempre colpa di una massa.....e se non è quella è un if!
Avatar utente
aris
Super Utente ++
Super Utente ++
 
Messaggi: 643
Iscritto il: ven lug 30, 2004 10:49 am
Località: Medolla -MO-

Re: Libreria per il logging degli errori

Messaggioda renaso » lun nov 19, 2018 12:25 pm

Ciao,
la cosa migliore per me è utilizzare la stessa vi che racchiude una creazione-gestione-eliminazione di eventi dinamici.
Creando una struttura event in grado di catturarli quello che basta fare è una vi che invia l'evento con il log dell'errore all'interno del codice, partendo dal riferimento dell'event da mandare (così facendo la si può mettere ovunque, reentrant o no) e la vi che gestisce e sta in ascolto all'arrivo di un evento logga su file.
Oltre che gli errori analogo se serve un log eventi su stati ecc.
renaso
Super Utente +
Super Utente +
 
Messaggi: 256
Iscritto il: lun dic 27, 2010 7:18 pm

Re: Libreria per il logging degli errori

Messaggioda ratataplam » mer nov 21, 2018 10:11 am

renaso ha scritto:Ciao,
la cosa migliore per me è utilizzare la stessa vi che racchiude una creazione-gestione-eliminazione di eventi dinamici.
Creando una struttura event in grado di catturarli quello che basta fare è una vi che invia l'evento con il log dell'errore all'interno del codice, partendo dal riferimento dell'event da mandare (così facendo la si può mettere ovunque, reentrant o no) e la vi che gestisce e sta in ascolto all'arrivo di un evento logga su file.
Oltre che gli errori analogo se serve un log eventi su stati ecc.


Ciao a tutti e grazie per i suggerimenti.
@renaso...ma in LV una gestione ad eventi non garantisce che non mi perda nulla, sbaglio?
Ho fatto una prova per capire meglio come funzionava la write su file :
1) apro il file
2) passo la refnum a due cicli while all'interno dello stesso VI
3) nel log file non ho viso perdite di dati (stampo un ID diverso per ogni ciclo)

Quindi :
A) la mia prova non ha senso perché i due while non sono proprio 2 thread paralleli
B) la write contiene già il controllo di accessi multipli?

Grazie a tutti.
ratataplam
Nuovo Utente
Nuovo Utente
 
Messaggi: 19
Iscritto il: gio dic 12, 2013 12:46 pm

Re: Libreria per il logging degli errori

Messaggioda nicola » gio mar 21, 2019 10:40 am

ma in LV una gestione ad eventi non garantisce che non mi perda nulla, sbaglio?

Gli eventi vengono accodati come in una queue, quindi se generi 100 eventi di errore, l'evento ti viene eseguito 100 volte e non perdi niente.

La gestione degli eventi dinamici anche se molti sostengono le code in quanto piu performanti ha un particolare utilizzo perchè a differenza delle code può avere una comunicazione molti a molti.
Esempi di utilizzo uno stop globale, se registri l'evento stop a tutte le event structure che devono reagire, avrai uno stop globale.

Nel tuo caso hai una comunicazione molti a uno (uno riceve i messeggi di errore generati dagli altri processi) quindi puoi utilizzare Event, Queue (suggeriti) ed eventualmente un AE (Action Engine) che però devi piazzare all'interno di un processo di gestione errore.

Dipende molto dalla tua architettura, hai una producer consumer? (Usa coda o event), una macchina a stati semplice?(usa un case per spedire l'errore su un caso error dove un AE può gestire il tutto...

BUon lavoro,
Nicola
Nicola |ILVG STAFF

Bytelabs.it
Avatar utente
nicola
Moderatore
 
Messaggi: 1519
Iscritto il: gio gen 08, 2004 3:30 pm
Località: Ferrara



  • Advertisement

Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron

Pannello di Controllo Utente

Login

Advertisement

Chi c’è in linea

In totale c’è 1 utente connesso :: 0 iscritti, 0 nascosti e 1 ospite (basato sugli utenti attivi negli ultimi 5 minuti)
Record di utenti connessi: 119 registrato il dom mar 31, 2013 11:39 pm

Visitano il forum: Nessuno e 1 ospite