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.
Los códigos y ejemplos proporcionados en WeAreCAS.eu son con fines educativos. Es imperativo no copiarlos y pegarlos ciegamente en sus entornos de producción. El mejor enfoque es comprender la lógica antes de aplicarla. Recomendamos encarecidamente probar estos scripts en un entorno de prueba (Sandbox/Dev). WeAreCAS no acepta ninguna responsabilidad por cualquier impacto o pérdida de datos en sus sistemas.
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.