Publié le :
Utilitaire CREATION_INTERNE

Envoi d'un message de débug au journal

Ce code est également disponible en : Deutsch English Español
La macro `_issueDebugMessage` est conçue pour faciliter l'émission de messages de débogage vers un système de journalisation (logger). Elle prend deux paramètres : `loggername` (le nom du logger cible) et `message` (le contenu du message de débogage). Avant d'appeler la fonction `log4sas©_logevent`, la macro effectue des validations pour vérifier que les paramètres `loggername` et `message` ne sont pas vides. Si l'un des paramètres est manquant, un avertissement est émis dans le log SAS© et la macro se termine. Si les paramètres sont valides, elle utilise `%sysfunc(log4sas©_logevent(...))` pour envoyer le message. Un contrôle du code de retour (`_rc`) est effectué, et si celui-ci est différent de zéro, une erreur est signalée. Cette macro est un composant de l'ingroup SASUNIT_LOG4SAS©, suggérant son utilisation dans un contexte de test unitaire ou de développement. La compatibilité avec SAS© Viya 4 dépend de la bonne configuration et disponibilité de l'API Log4SAS©.
Analyse des données

Type : CREATION_INTERNE


La macro ne manipule pas directement des jeux de données SAS. Elle traite des chaînes de caractères (nom du logger et message) qui sont fournies en paramètres. Ces chaînes sont ensuite transmises à la fonction `log4sas_logevent` pour la journalisation. Il n'y a pas de dépendance à des données externes ou à des bibliothèques SAS standard comme SASHELP pour son fonctionnement intrinsèque.

1 Bloc de code
MACRO
Explication :
Ce bloc contient la définition de la macro `_issueDebugMessage`. Il débute par des vérifications de la présence des paramètres `loggername` et `message`. Si un paramètre est manquant, un avertissement `%put` est émis et la macro se termine. Si les paramètres sont valides, la fonction `%sysfunc(log4sas_logevent(...))` est appelée pour écrire le message de débug dans le logger spécifié. Le code de retour de cette fonction est stocké dans `_rc` et vérifié pour détecter d'éventuelles erreurs de journalisation.
Copié !
1/**
2 \file
3 \ingroup SASUNIT_LOG4SAS
4 
5 \brief Issues an debug message to a logger
6
7 \version \$Revision$
8 \author \$Author$
9 \date \$Date$
10 
11 \copyright Copyright 2010-2023 HMS Analytical Software GmbH, http://www.analytical-software.de
12 This file is part of SASUnit, the Unit testing framework for SAS(R) programs.
13 For copyright information and terms of usage under the GNU Lesser General Public License see included file README.md
14 or https://github.com/HMS-Analytical-Software/SASUnit/wiki/readme/.
15
16 \param loggername Name of the logger to capture the message
17 \param message Message to be captured by the logger
18 
19 eturn message Message in the associated appender
20*//** \cond */
21%macro _issueDebugMessage(loggername, message);
22 %IF (%LENGTH(&loggername.)=0) %THEN %DO;
23 %put WARNING: loggername is null;
24 %return;
25 %END;
26 %IF (%LENGTH(&message.)=0) %THEN %DO;
27 %put WARNING: message is null;
28 %return;
29 %END;
30 %let _rc = %sysfunc(log4sas_logevent(&loggername., Debug, DEBUG: &message.));
31 %IF (&_rc ne 0) %THEN %DO;
32 %put ERROR: _rc is NOT null: &_rc.;
33 %END;
34%mend _issueDebugMessage;
35/** \endcond */
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : Copyright 2010-2023 HMS Analytical Software GmbH, http://www.analytical-software.de This file is part of SASUnit, the Unit testing framework for SAS(R) programs. For copyright information and terms of usage under the GNU Lesser General Public License see included file README.md or https://github.com/HMS-Analytical-Software/SASUnit/wiki/readme/.