Activer les logs de debug Java pour SAS/ACCESS interface to Hadoop
Contrairement aux autres module SAS/ACCESS, pour utiliser SAS/ACCESS avec un serveur Hadoop, un ensemble de fichiers JAR et de configuration Hadoop doit être disponible sur la machine client SAS. Cette particularité, c’est-à-dire l’absence d’un client logiciel packagé pour effectuer la communication entre SAS et la base de données, nécessite des manipulations spécifiques pour activer le mode DEBUG. En effet, Le module SAS/ACCESS interface to Hadoop utilise Java pour communiquer avec le cluster et l’activation des traces passe par le module Log4j, l’utilitaire de journalisation basé sur Java.
Activation du mode DEBUG
Pour activer le mode DEBUG il faut donc configurer ce module Log4j. Les paramètres du module java Log4j sont spécifiés dans le fichier de configuration SAS sas.log4j.properties Pour localiser l’emplacement du fichier de configuration sas.log4j.properties, exécutez la commande dans une session SAS :|
1 |
proc options option=jreoptions;run; |
|
1 2 3 4 5 6 7 8 9 |
JREOPTIONS=( -DPFS_TEMPLATE=/home/sas/SASHOME/SASFoundation/9.4/misc/tkjava/qrpfstpt.xml -Djava.class.path=/home/sas/SASHOME/SASVersionedJarRepository/eclipse/plugins/sas.launcher.jar -Djava.security.auth.login.config=/home/sas/SASHOME/SASFoundation/9.4/misc/tkjava/sas.login.config -Djava.security.policy=/home/sas/SASHOME/SASFoundation/9.4/misc/tkjava/sas.policy -Djava.system.class.loader=com.sas.app.AppClassLoader -Dlog4j.configuration=file:/home/sas/SASHOME/SASFoundation/9.4/misc/tkjava/sas.log4j.properties -Dsas.app.class.path=/home/sas/SASHOME/SASVersionedJarRepository/eclipse/plugins/tkjava.jar -Dsas.ext.config=/home/sas/SASHOME/SASFoundation/9.4/misc/tkjava/sas.java.ext.config -Dtkj.app.launch.config=/home/sas/SASHOME/SASVersionedJarRepository/picklist ) |
|
1 |
-Dlog4j.configuration=file:/home/sas/SASHOME/SASFoundation/9.4/misc/tkjava/sas.log4j.properties |
- Loggers - Utilisé pour émettre un message avec un niveau de gravité associé.
- Appenders - Utilisé pour envoyer le message à une cible de stockage.
Pour modifier le niveau de log, il faut modifier la Valeur du logger ( de ERROR à DEBUG) et modifier la sortie pour écrire dans le fichier de log /tmp/sas_log4j.log (de A1 à F1)
Remplacez :
|
1 2 3 |
log4j.rootCategory=ERROR, A1 log4j.logger.com.sas=WARN, A1 log4j.additivity.com.sas=false |
|
1 2 3 |
log4j.rootCategory=DEBUG, F1 log4j.logger.com.sas=DEBUG, F1 log4j.additivity.com.sas=true |
Activer le mode DEBUG pour valider un test
Linux
Pour ne pas écrire de façon systématique dans la log /tmp/sas_log4j.log et surcharger le système, il est possible de spécifier un fichier de configuration log4j et de ne l’utiliser qu’en phase de test ou de debug :|
1 |
sas -nodms -jreoptions -Dlog4j.configuration=file:/opt/sas/spre/home/SASFoundation/sas.log4j.properties |
|
1 2 3 4 5 |
log4j.rootCategory=DEBUG, F1 log4j.appender.F1=org.apache.log4j.RollingFileAppender log4j.appender.F1.file=/tmp/sas_log4j.log log4j.appender.F1.layout=org.apache.log4j.PatternLayout log4j.appender.F1.layout.ConversionPattern=%d{MM-dd HH:mm:ss,SSS} [%t][%-5p %c{1}] - %m%n |









