Partager via


Journalisation de l'activité

Par défaut, les erreurs et avertissements qui sont générés par le Pilote SQL Server pour PHP ne sont pas journalisés. Pour activer la journalisation, vous pouvez utiliser la fonction sqlsrv_configure ou modifier le fichier php.ini. Vous pouvez journaliser l'activité pour les initialisations, les connexions, les instructions ou les fonctions d'erreur. Vous pouvez également spécifier s'il faut journaliser les erreurs, les avertissements ou les avis (ou les trois à la fois).

Activation de la journalisation

Vous pouvez activer la journalisation en utilisant la fonction sqlsrv_configure afin de spécifier une valeur pour le paramètre LogSubsystems. Par exemple, la ligne de code suivante configure le pilote pour journaliser l'activité des connexions :

sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_CONN);

Le tableau suivant décrit les constantes qui peuvent être utilisées en tant que valeur du paramètre LogSubsystems :

Valeur (entier équivalent entre parenthèses) Description

SQLSRV_LOG_SYSTEM_ALL (-1)

Active la journalisation de tous les sous-systèmes.

SQLSRV_LOG_SYSTEM_OFF (0)

Désactive la journalisation.

SQLSRV_LOG_SYSTEM_INIT (1)

Active la journalisation de l'activité des initialisations.

SQLSRV_LOG_SYSTEM_CONN (2)

Active la journalisation de l'activité des connexions.

SQLSRV_LOG_SYSTEM_STMT (4)

Active la journalisation de l'activité des instructions.

SQLSRV_LOG_SYSTEM_UTIL (8)

Active la journalisation de l'activité des fonctions d'erreur (par exemple handle_error et handle_warning).

Vous pouvez définir plusieurs valeurs à la fois pour le paramètre LogSubsystems en utilisant l'opérateur logique OR (|). Par exemple, la ligne de code suivante lance la journalisation de l'activité pour les connexions et les instructions :

sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_CONN | SQLSRV_LOG_SYSTEM_STMT);

Vous pouvez également activer la journalisation en spécifiant une valeur entière pour le paramètre LogSubsystems dans le fichier php.ini. Par exemple, l'ajout de la ligne suivante à la section [sqlsrv] du fichier php.ini active la journalisation de l'activité des connexions :

sqlsrv.LogSubsystems = 2

En ajoutant plusieurs valeurs entières, vous pouvez spécifier plusieurs options à la fois. Par exemple, l'ajout de la ligne suivante à la section [sqlsrv] du fichier php.ini active la journalisation de l'activité des connexions et des instructions :

sqlsrv.LogSubsystems = 6

Journalisation des erreurs, des avertissements et des avis

Après l'activation de la journalisation, vous devez spécifier les éléments à journaliser. Vous pouvez journaliser un ou plusieurs des éléments suivants : erreurs, avertissements et avis. Par exemple, la ligne de code suivante spécifie que seuls les avertissements sont journalisés :

sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_WARNING);

Cc296188.note(fr-fr,SQL.90).gifRemarque :
Le paramètre par défaut pour LogSeverity est SQLSRV_LOG_SEVERITY_ERROR. Si la journalisation est activée et si aucun paramètre pour LogSeverity n'est spécifié, seules les erreurs sont journalisées.

Le tableau suivant décrit les constantes qui peuvent être utilisées en tant que valeur du paramètre LogSeverity :

Valeur (entier équivalent entre parenthèses) Description

SQLSRV_LOG_SEVERITY_ALL (-1)

Spécifie que les erreurs, les avertissements et les avis doivent être journalisés.

SQLSRV_LOG_SEVERITY_ERROR (1)

Spécifie que les erreurs doivent être journalisées.

SQLSRV_LOG_SEVERITY_WARNING (2)

Spécifie que les avertissements doivent être journalisés.

SQLSRV_LOG_SEVERITY_NOTICE (4)

Spécifie que les avis doivent être journalisés.

Vous pouvez définir plusieurs valeurs à la fois pour le paramètre LogSeverity en utilisant l'opérateur logique OR (|). Par exemple, la ligne de code suivante spécifie que les erreurs et les avertissements doivent être journalisés :

sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_ERROR | SQLSRV_LOG_SEVERITY_WARNING);

Cc296188.note(fr-fr,SQL.90).gifRemarque :
La spécification d'une valeur pour le paramètre LogSeverity n'entraîne pas l'activation de la journalisation. Vous devez activer la journalisation en spécifiant une valeur pour le paramètre LogSubsystems, puis spécifier la gravité du contenu journalisé en définissant une valeur pour LogSeverity.

Vous pouvez également spécifier un paramètre pour LogSeverity en utilisant des valeurs entières dans le fichier php.ini. Par exemple, l'ajout de la ligne suivante à la section [sqlsrv] du fichier php.ini active la journalisation des avertissements uniquement :

sqlsrv.LogSeverity = 2

En ajoutant plusieurs valeurs entières, vous pouvez spécifier plusieurs options à la fois. Par exemple, l'ajout de la ligne suivante à la section [sqlsrv] du fichier php.ini active la journalisation des erreurs et des avertissements :

sqlsrv.LogSeverity = 3

Voir aussi

Référence

sqlsrv_configure
sqlsrv_get_config

Concepts

Constantes SQLSRV

Autres ressources

Guide de programmation
Référence de l'API (Pilote SQL Server pour PHP)