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.
Die auf WeAreCAS.eu bereitgestellten Codes und Beispiele dienen Lehrzwecken. Es ist zwingend erforderlich, sie nicht blind in Ihre Produktionsumgebungen zu kopieren. Der beste Ansatz besteht darin, die Logik zu verstehen, bevor sie angewendet wird. Wir empfehlen dringend, diese Skripte in einer Testumgebung (Sandbox/Dev) zu testen. WeAreCAS übernimmt keine Verantwortung für mögliche Auswirkungen oder Datenverluste auf Ihren Systemen.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.