El truco del navegador web: Una solución poco conocida pero muy eficaz consiste en abrir su 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 "Tablero de control": PROC PRINTTO y HTML
Para ir más allá de una simple lectura de texto, puede redirigir sus registros a un formato HTML. Esto permite crear verdaderos tableros de control de seguimiento (con estados de color: verde para terminado, amarillo para en curso, etc.).
La idea es usar el procedimiento PROC PRINTTO para enrutar el registro a un archivo HTML. Aquí hay un ejemplo de una macro propuesta 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, puede seguir el progreso de sus procesamientos cómodamente.
El problema del archivo vacío (Buffering)
Incluso si logra abrir el archivo, a menudo sucede que su tamaño permanece bloqueado en 0 Ko o que no se actualiza durante largos períodos, incluso si 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 (también depende de la carga del disco y del sistema operativo), pero reduce considerablemente el tiempo de aparición de los registros.
También puede combinar esto con la opción -logparm :
-logparm "write=immediate rollover=session"
4. Herramientas de terceros: Traer Unix a Windows
Si extraña demasiado tail -f, la solución radical es instalar utilidades que porten los comandos Unix a Windows. Herramientas como GnuWin32, UnxUtils o Cygwin le permiten usar tail en Windows para monitorear sus archivos de registro 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.