Enregistrement des messages dans l’Exécution de scripts Snowflake¶
Vous pouvez enregistrer des messages à partir d’une fonction ou d’un gestionnaire de procédure écrit dans Exécution de scripts Snowflake en utilisant la fonction Snowflake SYSTEM$LOG, SYSTEM$LOG_<niveau> (pour l’Exécution de scripts Snowflake). Lorsque vous avez configuré une table d’événements pour stocker les entrées de journal, Snowflake stocke les entrées de journal générées par votre code de gestionnaire dans la table.
Avant de procéder à l’enregistrement à partir du code, assurez-vous que le niveau de journalisation est défini de manière à ce que les messages souhaités soient stockés dans la table d’événements. Pour plus d’informations, reportez-vous à Réglage du niveau de journalisation.
Note
Avant de commencer à enregistrer des messages, vous devez configurer une table d’événements. Pour plus d’informations, reportez-vous à Configuration d’une table d’événement.
Vous pouvez accéder aux messages du journal en exécutant une commande SELECT sur la table d’événements. Pour plus d’informations, reportez-vous à Accès aux données des messages enregistrés.
Pour des informations générales sur la configuration de la journalisation et la récupération des messages dans Snowflake, reportez-vous à Enregistrement de messages à partir de fonctions et de procédures.
Exemple d’exécution de scripts Snowflake¶
Le code de l’exemple suivant utilise la fonction SYSTEM$LOG pour enregistrer les messages à chacun des niveaux pris en charge. Notez qu’un message enregistré à partir d’un code qui traite une ligne d’entrée sera enregistré pour chaque ligne traitée par le gestionnaire. Si le gestionnaire est exécuté dans une grande table, il peut en résulter un grand nombre de messages dans la table des événements.
-- The following calls are equivalent.
-- Both log information-level messages.
SYSTEM$LOG('info', 'Information-level message');
SYSTEM$LOG_INFO('Information-level message');
-- The following calls are equivalent.
-- Both log error messages.
SYSTEM$LOG('error', 'Error message');
SYSTEM$LOG_ERROR('Error message');
-- The following calls are equivalent.
-- Both log warning messages.
SYSTEM$LOG('warning', 'Warning message');
SYSTEM$LOG_WARN('Warning message');
-- The following calls are equivalent.
-- Both log debug messages.
SYSTEM$LOG('debug', 'Debug message');
SYSTEM$LOG_DEBUG('Debug message');
-- The following calls are equivalent.
-- Both log trace messages.
SYSTEM$LOG('trace', 'Trace message');
SYSTEM$LOG_TRACE('Trace message');
-- The following calls are equivalent.
-- Both log fatal messages.
SYSTEM$LOG('fatal', 'Fatal message');
SYSTEM$LOG_FATAL('Fatal message');