builtins

log

Descripción

La acción 'log' en CAS Viya es una herramienta administrativa fundamental que permite a los usuarios, especialmente a los administradores, visualizar y modificar dinámicamente los niveles de registro (logging) de diferentes componentes del servidor CAS. Gestionar los niveles de registro es crucial para la depuración de problemas (aumentando el nivel a DEBUG o TRACE para obtener más detalles) o para optimizar el rendimiento en producción (reduciendo el nivel a WARN o ERROR para minimizar la sobrecarga de E/S). Esta acción puede aplicarse a la sesión actual, a todas las nuevas sesiones futuras o incluso al controlador principal del servidor, lo que requiere privilegios de administrador para cambios a nivel de todo el sistema.

builtins.log <result=results> <status=rc> / level="ALL" | "DEBUG" | "ERROR" | "FATAL" | "INFO" | "NULL" | "OFF" | "TRACE" | "WARN", logger="string", newSessions=TRUE | FALSE, onMain=TRUE | FALSE ;
Parámetros
ParámetroDescripción
levelEspecifica el nivel de registro a establecer. Si se omite, la acción simplemente lista los registradores existentes.
loggerEspecifica el nombre del registrador que se va a modificar. Un registrador es un componente específico del sistema, como 'App' para aplicaciones generales o 'App.Table' para operaciones de tablas.
newSessionsCuando se establece en TRUE, especifica que el cambio de nivel de registro se aplicará a todas las nuevas sesiones de CAS que se inicien después de este comando. Esto requiere privilegios de administrador.
onMainCuando se establece en TRUE, especifica que el cambio de nivel de registro también debe aplicarse al controlador principal del servidor CAS, afectando al núcleo del sistema. Esto requiere privilegios de administrador.
No se requiere creación de datos

La acción `log` opera sobre la configuración del servidor y no requiere datos de entrada en forma de tablas.

¡Copiado!
1/* No se necesita código de creación de datos para esta acción */

Ejemplos

Al ejecutar la acción 'log' sin ningún parámetro, el servidor CAS devuelve una tabla que lista todos los registradores disponibles y sus niveles de registro actuales. Es el primer paso habitual para diagnosticar qué componentes están registrando información.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS; BUILTINS.log; RUN;
Resultado :
Una tabla de resultados en el log de SAS que muestra los nombres de los registradores (Logger) y sus niveles de registro actuales (Level).

Este ejemplo aumenta el nivel de detalle para el registrador 'App.Table', que se ocupa de las operaciones de la tabla CAS. Establecer el nivel en 'Info' registrará información más detallada sobre las acciones de la tabla, lo cual es útil para la depuración, pero solo para la sesión actual.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3BUILTINS.log / logger='App.Table' level='Info';
4 
5RUN;
6 
Resultado :
El log de SAS mostrará una nota de confirmación indicando que el nivel del registrador 'App.Table' ha sido cambiado a 'INFO'.

Este es un caso de uso administrativo. Primero, el usuario asume el rol de 'superuser'. Luego, la acción 'log' se utiliza para establecer el nivel de registro de 'App' en 'Debug' para todas las nuevas sesiones que se creen en el servidor. Esto es útil para una depuración a gran escala del sistema.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3ACCESSCONTROL.assumeRole / adminRole='superuser';
4 
5RUN;
6BUILTINS.log / logger='App' level='Debug' newSessions=TRUE;
7 
8RUN;
9ACCESSCONTROL.dropRole / adminRole='superuser';
10 
11RUN;
12 
Resultado :
Una nota en el log de SAS confirmando el cambio. Todas las nuevas sesiones CAS iniciadas después de este comando tendrán el registrador 'App' configurado en nivel 'Debug' por defecto.

FAQ

¿Cuál es el propósito de la acción 'log' en el conjunto de acciones 'builtins'?
¿Qué especifica el parámetro 'logger' en la acción 'log'?
¿Cuáles son los diferentes valores que puede tomar el parámetro 'level' y qué representan?
¿Qué sucede si se establece el parámetro 'level' en 'NULL'?
¿Qué controlan los parámetros booleanos 'newSessions' y 'onMain'?