Débogage SAS : Prenez le contrôle total de vos logs et sorties avec PUTLOG

Niveau de difficulté
Débutant
Publié le :
Simon

Le Conseil de l'Expert

Simon
Expert SAS et fondateur.

Pour que la coloration syntaxique automatique fonctionne dans le journal SAS (rouge pour les erreurs, vert pour les notes, jaune pour les avertissements), il est impératif que les mots-clés ERROR, NOTE ou WARNING soient placés au tout début de la chaîne de caractères et immédiatement suivis de deux points, comme dans l'instruction putlog 'ERROR: Message';.

Ce script illustre comment contrôler la destination des messages dans une étape Data SAS©. Il montre l'utilisation de 'FILE PRINT' pour diriger les instructions 'PUT' vers la fenêtre de sortie standard, tout en utilisant 'PUTLOG' pour forcer l'écriture de messages (notamment des alertes colorées comme NOTE, WARNING, ERROR) directement dans la journal (Log), indépendamment de la destination de sortie active.
Analyse des données

Type : CREATION_INTERNE


Le Data Step 'test' ne lit aucune donnée externe; il s'exécute sur une observation implicite pour générer les messages.

1 Bloc de code
DATA STEP Data
Explication :
Étape Data créant la table temporaire 'test'. Elle écrit initialement dans la log par défaut, puis bascule la sortie standard vers la fenêtre de résultat (file print). L'instruction PUTLOG est utilisée pour continuer à envoyer des messages de diagnostic (NOTE, WARNING, ERROR) vers la journal malgré la redirection.
Copié !
1*** putlog ;
2DATA test ;
3 put 'This goes to LOG by default' ;
4 file PRINT ;
5 put 'This goes to OUTPUT window, since I selected print' ;
6 putlog 'but this still goes to the LOG' ;
7 put 'This goes to OUTPUT' ;
8 putlog 'NOTE: and I can write proper messages using colours' ;
9 putlog 'WARNING: ...' ;
10 putlog 'ERROR: ...' ;
11RUN ;
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.