C'è un modo per creare un file di registro personalizzato in JSL?Tutto,
Sto creando un'applicazione e vorrei consentire agli utenti di visualizzare in anteprima un file di registro personalizzato insieme allo script. Sono dell'opinione che questo metodo aiuterà sia me che gli utenti in futuro con la risoluzione dei problemi.
Penso che un modo per scriverlo sia costruire un elenco e scrivere l'elenco come file di testo. Ma sono aperto a suggerimenti e mi chiedo se esista un modo migliore, più pulito e più efficiente per farlo.
Re: C'è un modo per creare un file di log personalizzato in JSL?Faccio qualcosa di simile, ecco la mia strategia per la maggior parte dei progetti:
- Tutti gli script hanno lo stesso formato di registro, questo significa che è facile aggregarli.
- Per alcuni componenti aggiuntivi i registri vengono caricati automaticamente in una posizione centrale. JMP 14 ha un ottimo metodo per aggregare tutti questi.
- Uso un formato csv che memorizza anche altre informazioni, come:
- Nome e versione dello script/componente aggiuntivo
- Versione OS/JMP
- Nome della funzione
- Per i componenti aggiuntivi, carico la funzione "writeToLog" in uno spazio dei nomi per quel componente aggiuntivo.Nella parte superiore di ogni script definisco quello spazio dei nomi, quindi in qualsiasi file all'interno di quel componente aggiuntivo posso scrivere messaggi di registro usando ns:log("message", function="foo")
Re: C'è un modo per creare un file di log personalizzato in JSL?Vorrei basta usare la funzione Salva file di testo per aggiungere un file di registro in sequenza. Vedere l'esempio di seguito.
// some variables to show
x = 5;
y = 10;
z = 25;
// path to the log
logFilePath = "$TEMP/MyJmpAddin2.log";
// initialize the log in case it doesnt exist
If( !File Exists( logFilePath ), Save Text File( logFilePath, "" ) );
// function to write to the log file (with a new line character at the end)
writeToLog = Function( {str},
Save Text File(
logFilePath,
Format( Today(), "m/d/y h:m:s" ) || " - " || str || "\!N",
Mode( "append" )
)
);
writeToLog( "showing x in JMP log" );
show( x );
writeToLog( "showing y in JMP log" );
show( y );
writeToLog( "showing z in JMP log" );
show( z );
// for demonstration purposes, open the log file as plain text
Open( logFilePath, "plain text" );
Ecco il file di registro risultante:
01/31/2018 1:56:23 PM - showing x in JMP log
01/31/2018 1:56:23 PM - showing y in JMP log
01/31/2018 1:56:23 PM - showing z in JMP log