Configuration de la journalisation et du partage d’événements pour une application¶
Cette rubrique décrit comment configurer la journalisation et le partage d’événements pour dépanner une application installée.
Cette rubrique fournit des informations sur la configuration de la journalisation et du partage d’événements en tant que fournisseur. Reportez-vous à Activation de la journalisation et du partage d’événements pour une application pour connaître les exigences des consommateurs en matière de configuration de cette fonction.
Les événements de journalisation et de traçage vous permettent de collecter des informations sur une application afin de résoudre les erreurs. Grâce à la journalisation et aux événements de traçage, vous pouvez également avoir une meilleure idée du fonctionnement de votre application et l’améliorer par la suite.
Workflow de configuration de la journalisation et du partage d’événements en tant que fournisseur¶
En tant que fournisseur, vous pouvez configurer la journalisation et le partage d’événements pour une application en procédant comme suit :
Une fois que le consommateur a installé une application et activé la journalisation et le partage d’événements, vous pouvez voir les informations de journalisation et d’événements partagées par l’application installée :
Considérations relatives à l’utilisation de la journalisation et du partage d’événements¶
Avant d’utiliser la journalisation et le partage d’événements pour une application, vous devez tenir compte des points suivants :
Vous êtes responsable de tous les coûts associés au partage d’événements du côté du fournisseur, y compris l’ingestion et le stockage des données.
Vous devez avoir un compte pour stocker des événements partagés dans chaque région où vous souhaitez prendre en charge le partage d’événements.
Vous devez définir le niveau de journalisation et le niveau de traçage par défaut pour une application dans le fichier manifeste.
Configurer la journalisation et des événements de trace dans les fonctions et les procédures¶
Le Native Apps Framework nécessite une table d’événements pour stocker les messages de journal et les événements de traçage générés par les fonctions et les procédures stockées dans une application.
Note
Si le consommateur de votre application ne configure pas une table d’événements et n’en fait pas la table active avant d’installer l’application, les données d’événements et de journalisation sont rejetées.
Un compte peut avoir plusieurs tables d’événements, mais une seule d’entre elles peut être définie comme table d’événements active pour un compte Snowflake à la fois. Sans table d’événements active, les messages de journal et les événements de traçage générés par l’application ne sont pas capturés. Cela est vrai même si les fonctions et procédures d’une application appellent les APIs d’événements de journalisation et de traçage.
Pour créer une table d’événements, utilisez la commande CREATE EVENT TABLE. Pour plus d’informations, reportez-vous à Configuration d’une table d’événement.
Une fois que le code a enregistré les messages du journal et les événements de traçage, vous pouvez interroger les données enregistrées.
Pour plus d’informations sur l’enregistrement et l’interrogation des données de journal et de traçage, reportez-vous à ce qui suit :
Définir le niveau de journalisation et de traçage dans le fichier manifeste¶
Pour définir les niveaux de journalisation et de traçage par défaut pour une version d’une application, définissez les paramètres log_level
et trace_level
dans le fichier manifeste, comme indiqué dans l’exemple suivant :
artifacts:
setup_script: setup.sql
configuration:
trace_level: OFF
log_level: DEBUG
Lorsqu’un fournisseur active le traçage, une Snowflake Native App capture automatiquement les heures de début et de fin de toutes les requêtes et de tous les appels de procédures stockées.
Note
La publication d’une Snowflake Native App dont la propriété trace_level
est définie sur une valeur autre que OFF
peut exposer les appels à des procédures stockées cachées à tout utilisateur du compte du consommateur qui peut voir la table des événements.
Reportez-vous à Réglage du niveau de trace et Réglage du niveau de journalisation pour obtenir des informations sur les valeurs prises en charge pour trace_level
et log_level
.
Lors de son installation initiale, l”Snowflake Native App utilise les niveaux de journalisation définis dans le fichier manifeste. Si le niveau de journalisation est modifié lors d’une mise à niveau ultérieure, le nouveau niveau de journalisation prend effet après la fin du processus de mise à niveau.
Le niveau de journalisation et de traçage ne peut être défini que dans le fichier manifeste. Le consommateur n’est pas autorisé à modifier le niveau de journalisation à l’aide des commandes ALTER APPLICATION ou ALTER DATABASE.
De même, tout paramètre de niveau de session pour le niveau de journalisation est ignoré par l’application.
Voir les niveaux d’événements de journalisation et de trace définis dans un paquet d’application¶
Utilisez la commande DESCRIBE APPLICATION pour afficher le niveau de journalisation d’une application installée, comme le montre la commande suivante :
DESC APPLICATION HelloSnowflake;
Utilisez la commande SHOW VERSIONS pour voir le niveau de journalisation des versions d’application définies dans un paquet d’application, comme le montre l’exemple suivant :
SHOW VERSIONS
IN APPLICATION PACKAGE HelloSnowflake;
Voir les journaux et les événements dans la table d’événements¶
Pour voir les journaux et les événements stockés dans la table des événements, utilisez la commande SELECT comme indiqué dans l’exemple suivant :
SELECT * FROM EVENT_DB.EVENT_SCHEMA.MY_EVENT_TABLE