Veröffentlicht am :
Dienstprogramm CREATION_INTERNE

Senden einer Debug-Nachricht an das Protokoll

Dieser Code ist auch verfügbar auf: Français English Español
Das Makro `_issueDebugMessage` wurde entwickelt, um das Senden von Debug-Nachrichten an ein Protokollierungssystem (Logger) zu erleichtern. Es akzeptiert zwei Parameter: `loggername` (der Name des Ziel-Loggers) und `message` (der Inhalt der Debug-Nachricht). Vor dem Aufruf der Funktion `log4sas©_logevent` führt das Makro Validierungen durch, um zu überprüfen, ob die Parameter `loggername` und `message` nicht leer sind. Wenn einer der Parameter fehlt, wird eine Warnung im SAS©-Protokoll ausgegeben und das Makro beendet. Wenn die Parameter gültig sind, verwendet es `%sysfunc(log4sas©_logevent(...))`, um die Nachricht zu senden. Eine Überprüfung des Rückgabecodes (`_rc`) wird durchgeführt, und wenn dieser ungleich Null ist, wird ein Fehler gemeldet. Dieses Makro ist eine Komponente der Gruppe SASUNIT_LOG4SAS©, was auf seine Verwendung im Kontext von Unit-Tests oder der Entwicklung hinweist. Die Kompatibilität mit SAS© Viya 4 hängt von der korrekten Konfiguration und Verfügbarkeit der Log4SAS©-API ab.
Datenanalyse

Type : CREATION_INTERNE


Das Makro manipuliert keine SAS-Datasets direkt. Es verarbeitet Zeichenketten (Logger-Name und Nachricht), die als Parameter übergeben werden. Diese Zeichenketten werden dann zur Protokollierung an die Funktion `log4sas_logevent` übergeben. Es gibt keine Abhängigkeit von externen Daten oder Standard-SAS-Bibliotheken wie SASHELP für seine intrinsische Funktionsweise.

1 Codeblock
MACRO
Erklärung :
Dieser Block enthält die Definition des Makros `_issueDebugMessage`. Er beginnt mit Überprüfungen auf das Vorhandensein der Parameter `loggername` und `message`. Wenn ein Parameter fehlt, wird eine `%put`-Warnung ausgegeben und das Makro beendet. Wenn die Parameter gültig sind, wird die Funktion `%sysfunc(log4sas_logevent(...))` aufgerufen, um die Debug-Nachricht in den angegebenen Logger zu schreiben. Der Rückgabecode dieser Funktion wird in `_rc` gespeichert und überprüft, um mögliche Protokollierungsfehler zu erkennen.
Kopiert!
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 */
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Urheberrechtsinformationen : 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/.