L'astuce du navigateur web : Une solution méconnue mais très efficace consiste à ouvrir votre fichier .log directement avec un navigateur (Internet Explorer, Chrome, Edge, etc.). Le navigateur ne verrouille pas le fichier et affiche le texte correctement (surtout si l'extension est .log, le formatage reste lisible).
Note : La solution "Tableau de bord" : PROC PRINTTO et HTML
Pour aller plus loin qu'une simple lecture de texte, vous pouvez rediriger vos logs vers un format HTML. Cela permet de créer de véritables tableaux de bord de suivi (avec des statuts colorés : vert pour fini, jaune pour en cours, etc.).
L'idée est d'utiliser la procédure PROC PRINTTO pour router la log vers un fichier HTML. Voici un exemple de macro proposée par la communauté :
%MACRO PRINTTO(_logPath=, _jobID=, _jobName=);
%LOCAL dt;
%LET dt = %sysFunC(dateTime(), DATETIME16.);
/* Initialisation du fichier HTML */
FILENAME L_PATH "&_logPath";
DATA _null_;
file L_PATH;
put "<PRE>"; /* Balise pour conserver le formatage */
RUN;
FILENAME L_PATH CLEAR;
/* Redirection de la log */
PROC PRINTTO LOG = "&_logPath";
RUN;
%PUT NOTE: Job &_jobID - &_jobName a demarre a &dt;
%MEND;
1
%MACRO PRINTTO(_logPath=, _jobID=, _jobName=);
2
%LOCAL dt;
3
%LET dt = %sysFunC(dateTime(), DATETIME16.);
4
5
/* Initialisation du fichier HTML */
6
FILENAME L_PATH "&_logPath";
7
DATA _null_;
8
file L_PATH;
9
put "<PRE>"; /* Balise pour conserver le formatage */
10
RUN;
11
FILENAME L_PATH CLEAR;
12
13
/* Redirection de la log */
14
PROC PRINTTO LOG = "&_logPath";
15
RUN;
16
17
%PUT NOTE: Job &_jobID - &_jobName a demarre a &dt;
18
%MEND;
En ouvrant ce fichier HTML dans un navigateur et en utilisant l'actualisation automatique, vous pouvez suivre l'avancement de vos traitements confortablement.
Le problème du fichier vide (Buffering)
Même si vous réussissez à ouvrir le fichier, il arrive souvent que sa taille reste bloquée à 0 Ko ou qu'elle ne se mette pas à jour pendant de longues périodes, même si le programme tourne.
Limites : Bien que très utile, cette option ne garantit pas toujours une mise à jour instantanée seconde par seconde (cela dépend aussi de la charge disque et de l'OS), mais elle réduit considérablement le délai d'apparition des logs.
Vous pouvez également combiner cela avec l'option -logparm :
-logparm "write=immediate rollover=session"
4. Outils tiers : Ramener Unix sur Windows
Si tail -f vous manque trop, la solution radicale consiste à installer des utilitaires qui portent les commandes Unix sous Windows. Des outils comme GnuWin32, UnxUtils ou Cygwin vous permettent d'utiliser tail sur Windows pour surveiller vos fichiers logs exactement comme sur un serveur Linux.
Les codes et exemples fournis sur WeAreCAS.eu sont à but pédagogique. Il est impératif de ne pas les copier-coller aveuglément sur vos environnements de production. La meilleure approche consiste à comprendre la logique avant de l'appliquer. Nous vous recommandons vivement de tester ces scripts dans un environnement de test (Sandbox/Dev). WeAreCAS décline toute responsabilité quant aux éventuels impacts ou pertes de données sur vos systèmes.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.