Lancer l'enregistreur - suivre chaque fois que JMP est lancé sur une machineLancer l'enregistreur Complément JMP, version 1
Écrit par Jeff Perkinson, jeff.Perkinson@jmp.com
Launch Logger crée un petit fichier texte contenant les détails du système à chaque lancement de JMP.
Ces fichiers texte peuvent être utilisés pour suivre le nombre de lancements de JMP sur une machine donnée.
Si un administrateur système rassemble tous ces fichiers sur un ensemble de machines, il peut suivre les lancements JMP dans une organisation.
Launch Logger n'a pas d'interface utilisateur. Il utilise addinload.jsl pour collecter les informations système et les écrire dans le fichier texte.
Le fichier texte est stocké dans le répertoire défini par le Variable de chemin JMP USER_APPDATA. L'emplacement pointé par cette variable dépend du produit JMP et du système d'exploitation.
- Windows (JMP) : C:/Users//AppData/Roaming/SAS/JMP//
- Windows (JMP Pro) : C:/Users//AppData/Roaming/SAS/JMPPro//
- Macintosh : /Users//Bibliothèque/Application Support/JMP//
Les fichiers de ce répertoire sont nommés selon le modèle :
nom d'hôte _ date _ temps .SMS
où hostname est le nom de la machine exécutant JMP et date et heure sont la date et l'heure de lancement.
Les informations collectées dans les fichiers texte sont :
Bitness => 64 bits ou 32 bits
Informations de construction => la date et l'heure de construction, qu'il s'agisse d'une version ou d'une version de débogage, et le nom du produit dans une chaîne délimitée par des virgules
Date => la date et l'heure de lancement de JMP
Héberger => Mac ou Windows
Nom d'hôte => la valeur de la variable d'environnement COMPUTERNAME (Windows) ou HOSTNAME (Mac)
JMP Version => la version de JMP en cours de lancement
Nom du produit => le nom du produit JMP en cours d'exécution, Pro ou Standard
Nom d'utilisateur => la valeur de la variable d'environnement USERNAME (Windows) ou USER (Macintosh)
Le fichier texte est écrit à l'aide d'une syntaxe qui facilite la relecture de ces valeurs dans un tableau associatif dans JMP pour agréger les journaux.
Le contenu de addinload.jsl dans Launch Logger est :
info = Associative Array();
info["JMP Version"] = JMP Version();
info["Build Information"] = Build Information();
info["Date"] = Format( Today(), "m/d/y h:m:s" );
info["Host"] = If( Host is( Mac ),
"Mac",
"Windows"
);
info["Bitness"] = If( Host is( Bits32 ),
"32-bit",
"64-bit"
);
info["Username"] = If( Host is( Windows ),
Get Environment Variable( "USERNAME" ),
Get Environment Variable( "USER" )
);
info["Product Name"] = JMP Product Name();
info["Hostname"] = If( Host is( Windows ),
Get Environment Variable( "COMPUTERNAME" ),
Get Environment Variable( "HOSTNAME" )
);
dir = "$USER_APPDATA/JMPLaunchLogger/";
filename = dir || info["Hostname"] || "_" || Format( Today(), "ddMONYYYY" ) || "_" || Char( Hour( Today() ) ) || Char( Minute( Today() ) ) ||
Char( Second( Today() ) ) || ".txt";
If( !Directory Exists( dir ),
dir_create_success = Try( Create Directory( dir ), exception_msg )
);
Save Text File( filename, Char( info ) );
Launch Logger crée un petit fichier texte contenant les détails du système à chaque lancement de JMP.
Ces fichiers texte peuvent être utilisés pour suivre le nombre de lancements de JMP sur une machine donnée.
UtilitairesRe : Launch Logger - suivre chaque fois que JMP est lancé sur une machineEh bien, si le complément n'est pas là, il n'est pas surprenant qu'il n'enregistre rien. 
Quant à savoir comment le complément pourrait disparaître, c'est quelque chose que vous devez probablement discuter avec votre service informatique pour voir s'il nettoie le répertoire de profil où les compléments sont installés, ou peut-être avez-vous plusieurs répertoires de profil .
Re : Launch Logger - suivre chaque fois que JMP est lancé sur une machineSalut Jef,
Rien dans la fenêtre du journal (Ctrl+Maj+L).
Moins de la moitié des utilisateurs sont actuellement connectés dans l'entreprise ?
J'ai remarqué que le complément dans lequel j'avais intégré le script a étrangement disparu de mon PC.
Lors de la réinstallation, mes lancements JMP sont à nouveau enregistrés.
Une idée de la façon dont un complément peut disparaître ?
- Philippe
Re : Launch Logger - suivre chaque fois que JMP est lancé sur une machine@jpol , c'est étrange.
Commencez par examiner la fenêtre du journal pour voir s'il y a des messages immédiatement après le lancement de JMP.
Re : Launch Logger - suivre chaque fois que JMP est lancé sur une machineSalut Jef,
Quelqu'un a-t-il signalé que l'enregistreur de lancement enregistre de moins en moins de lancements au fil du temps ?
J'ai vérifié ce matin et j'ai vu que lorsque j'ai lancé JMP moi-même, il n'y avait aucun enregistrement (aucun fichier texte n'était stocké, comme précédemment). Il semble que mes activités n'aient pas été enregistrées depuis quelques semaines environ.
Mon hypothèse est que certains packages de mise à jour MS ont provoqué cela, mais je ne peux pas en être sûr. J'ai également remarqué que certains utilisateurs ne sont jamais connectés.
Des suggestions quant à l'endroit où je peux commencer à enquêter?
Cordialement,
Philippe
Re : Launch Logger - suivre chaque fois que JMP est lancé sur une machineMerci Jeff et Don,
Cela fonctionne très bien et en tant qu'administrateur local, je peux facilement voir les informations de construction et la version JMP utilisées par chaque utilisateur.
Cordialement,
Philippe
Re : Launch Logger - suivre chaque fois que JMP est lancé sur une machine@jpol ,
Je dois admettre que vous m'avez un peu pris de court. Je pensais être intelligent en stockant les informations du journal sous forme de tableau associatif. Il fonctionne bien comme format de stockage auto-documenté et permet d'ajouter d'autres informations aux journaux à l'avenir et, vraisemblablement, d'être toujours en mesure d'analyser des fichiers mixtes.
Cependant, votre demande m'a fait comprendre qu'il n'est pas aussi simple d'intégrer un groupe de tableaux associatifs dans une table de données que je l'avais espéré.
Avec gratitude à @DonMcCormack , voici du code qui créera une table de données à partir d'un dossier de fichiers journaux.
tableFromAAList = Function({inList},{Default Local},
tblRef = New Table("Data from List of AAs");
For(i=1,i<=N Items(inList),i++,
nextKeys = inList[i] << Get Keys;
tblRef << Add Row(1);
For(j=1,j<=N Items(nextKeys),j++,
nextVal = inList[i] << Get Value(nextKeys[j]);
Try(
Column(tblRef,nextKeys[j])[i] = nextVal;
,//ON ERROR
tblRef << New Column(nextKeys[j],Character);
Column(tblRef,nextKeys[j])[i] = nextVal;
);
)
);
tblRef << Delete Columns("Column 1");
);
logfiles = Files In Directory( "./Logs" );
logs = {};
For( i = 1, i <= N Items( logfiles ), i++,
Insert Into( logs, Parse( Load Text File( "./Logs/" || logfiles[i] ) ) )
);
tableFromAAList(logs);
JMP 14 peut faciliter cela.
Re : Launch Logger - suivre chaque fois que JMP est lancé sur une machineSalut Jef,
Je souhaite utiliser le module complémentaire Launch Logger pour surveiller le nombre de lancements de JMP dans l'entreprise.
J'ai réussi à créer des fichiers journaux.
Malheureusement, je ne connais pas les tableaux associatifs et je trouve donc plutôt difficile d'extraire et de concaténer les fichiers.
Pourriez-vous donner quelques conseils?
Merci,
Philippe
Re : Launch Logger - suivre chaque fois que JMP est lancé sur une machine@ashley_prince , non, cela comptera les lancements à partir de n'importe quelle version de JMP dans laquelle il est installé.
Re : Launch Logger - suivre chaque fois que JMP est lancé sur une machineSalut Jef,
C'est génial - merci pour le partage ! Pouvez-vous confirmer que cela ne compte que les lancements à partir des installations de licence annuelle ?
Merci!