El truco del navegador web: Una solución poco conocida pero muy eficaz es abrir tu archivo .log directamente con un navegador (Internet Explorer, Chrome, Edge, etc.). El navegador no bloquea el archivo y muestra el texto correctamente (especialmente si la extensión es .log, el formato sigue siendo legible).
Note : La solución "Panel de control": PROC PRINTTO y HTML
Para ir más allá de una simple lectura de texto, puedes redirigir tus logs a un formato HTML. Esto permite crear verdaderos paneles de seguimiento (con estados de colores: verde para finalizado, amarillo para en curso, etc.).
La idea es utilizar el procedimiento PROC PRINTTO para enrutar el log a un archivo HTML. A continuación, un ejemplo de macro propuesto por la comunidad:
%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;
Al abrir este archivo HTML en un navegador y usar la actualización automática, puedes seguir cómodamente el progreso de tus procesos.
El problema del archivo vacío (Buffering)
Incluso si logras abrir el archivo, a menudo sucede que su tamaño se queda bloqueado en 0 KB o no se actualiza durante largos períodos, aunque el programa esté en ejecución.
Límites: Aunque es muy útil, esta opción no siempre garantiza una actualización instantánea segundo a segundo (esto también depende de la carga del disco y del sistema operativo), pero reduce considerablemente el retraso en la aparición de los logs.
También puedes combinar esto con la opción -logparm:
-logparm "write=immediate rollover=session"
4. Herramientas de terceros: Traer Unix a Windows
Si echas demasiado de menos tail -f, la solución radical es instalar utilidades que traen los comandos de Unix a Windows. Herramientas como GnuWin32, UnxUtils o Cygwin te permiten usar tail en Windows para monitorear tus archivos de log exactamente como en un servidor 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.