DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Gestion de la journalisation
  • Présentation
  • Les différents types de journaux disponibles
  • Journaux disponibles en mode HFSQL Classic
  • Journaux disponibles en mode HFSQL Client/Serveur
  • Mettre en place la journalisation
  • Définir la journalisation au niveau des fichiers de données
  • Définir la journalisation au niveau des rubriques
  • Générer l'analyse
  • Modification automatique des données et journalisation
  • Les différents fichiers créés lors de la mise en place de la journalisation
  • Fichiers créés en mode HFSQL Classic
  • Fichiers créés en mode HFSQL Client/Serveur
  • WDLog : utilitaire de gestion des journaux
  • Manipuler les journaux par programmation
  • Deux fichiers de données ne doivent pas utiliser le même fichier journal
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Mettre en place la journalisation dans une application
HFSQL ClassicHFSQL Client/ServeurDisponible uniquement avec ces types de connexion
Présentation
Que votre application utilise des fichiers de données HFSQL Classic ou HFSQL Client/Serveur, il est possible de mettre en place la journalisation sur ces fichiers de données.
Pour mettre en place la journalisation des fichiers de votre application, il est nécessaire de :
  1. Définir le type de journalisation à effectuer.
  2. Définir la journalisation au niveau des fichiers de données.
  3. Définir la journalisation au niveau des rubriques.
Les fichiers créés par la journalisation dépendent du type d'accès à vos fichiers de données (HFSQL Classic ou HFSQL Client/Serveur).
Les fichiers journalés pourront ensuite être manipulés avec l'outil WDLog ou par programmation.
Les différents types de journaux disponibles
WINDEVWindowsHFSQL Classic

Journaux disponibles en mode HFSQL Classic

WINDEV, WEBDEV et WINDEV Mobile proposent les options suivantes pour journaler vos fichiers de données : selon l'option sélectionnée, différents fichiers sont automatiquement créés.
OptionAction réaliséeFichiers créés automatiquement
Aucun journal (option par défaut)Aucun
Journal des écrituresLes informations suivantes seront enregistrées :
  1. Toutes les opérations d'ajout, de modification et de suppression effectuées sur le fichier en cours.
  2. La valeur des enregistrements manipulés AVANT et APRES l'opération.
Quand choisir cette option ?
Pour connaître à tout moment qui a modifié le fichier et quelle est la modification effectuée.
<Nom du fichier>JNL.fic
Historique des accèsToutes les opérations effectuées sur l'ensemble des fichiers journalés de l'application sont enregistrés. La valeur des enregistrements manipulés n'est pas sauvegardée.

Quand choisir cette option ?
Pour connaître à tout moment les opérations qui ont été effectuées sur les différents fichiers journalés de l'application.
JournalOperation.fic
JournalIdentification.fic
Journal des écritures + Historique des accèsLes informations suivantes seront enregistrées :
  1. Toutes les opérations d'ajout, de modification et de suppression effectuées sur le fichier en cours.
  2. La valeur des enregistrements manipulés AVANT et APRES l'opération.
  3. Toutes les opérations effectuées sur l'ensemble des fichiers journalés de l'application sont enregistrés.
Quand choisir cette option ?
Pour connaître à tout moment :
  • qui a modifié le fichier,
  • quelle est la modification effectuée.
  • quelles sont les opérations effectuées sur le fichier.
<Nom du fichier>.JNL.fic
JournalOperation.fic
JournalIdentification. fic
WINDEVWindowsHFSQL Client/Serveur

Journaux disponibles en mode HFSQL Client/Serveur

En mode Client/Serveur, WINDEV, WEBDEV et WINDEV Mobile proposent les options suivantes pour journaler vos fichiers de données : selon l'option sélectionnée, différents fichiers sont automatiquement créés.
OptionAction réaliséeFichiers créés automatiquement
Aucun journal (option par défaut)Aucun
Journal des écrituresLes informations suivantes seront enregistrées :
  1. Toutes les opérations d'ajout, de modification et de suppression effectuées sur le fichier en cours.
  2. La valeur des enregistrements manipulés AVANT et APRES l'opération.
<Nom du fichier>JNL.fic
JNL_FILES.fic
JNL_OPERATION.fic
JNL_USER.fic
Mettre en place la journalisation

Définir la journalisation au niveau des fichiers de données

La mise en place de la journalisation sur les fichiers de données HFSQL Classic ou Client/Serveur est réalisée sous l'éditeur d'analyses.
Pour mettre en place la journalisation sur un fichier de données décrit dans l'analyse :
  1. Réalisez une sauvegarde des fichiers de données dans leur état actuel avec l'outil WDLog.
  2. Sous l'éditeur d'analyses, affichez la description du fichier de données voulu :
    • Sélectionnez le fichier de données sous l'éditeur.
    • Sélectionnez l'option "Description du fichier de données" du menu contextuel.
  3. Dans l'onglet "Divers" sélectionnez le type de journal à gérer pour ce fichier de données.
  4. Selon l'option sélectionnée, précisez si nécessaire le répertoire des différents fichiers créés par la journalisation.
HFSQL Classic Remarques :
  • Attention : les fichiers JournalIdentification et JournalOperation sont toujours présents dans le même répertoire. Par défaut, ces fichiers sont créés dans le répertoire de l'application.
    Ce répertoire est défini dans les options de l'analyse : cliquez dans le fond du graphe de l'analyse et sélectionnez "Description de l'analyse" dans le menu contextuel.
    Ce répertoire peut être modifié au niveau de chaque fichier de données.
  • Conseil : les fichiers journal permettent d'enregistrer les opérations effectuées sur un fichier pour les re-jouer sur une sauvegarde en cas de problème (disque inutilisable par exemple). Il est conseillé de sauvegarder les fichiers journal dans des répertoires (et même des disques) différents de ceux utilisés pour les fichiers de données.

Définir la journalisation au niveau des rubriques

Par défaut, toutes les rubriques d'un fichier journalé sont automatiquement journalées. Il est cependant possible de définir :
  • si certaines rubriques doivent être ou non journalées. Par exemple, si un des fichiers de données utilise une rubrique mémo pour stocker une image (information peu importante et peu sujette à modification), il est possible de ne pas journaler cette rubrique.
  • si la rubrique journalée doit être une clé dans le journal. Cette option permet par exemple de retrouver simplement un enregistrement dans le journal.
Pour ne pas journaler une rubrique :
  1. Affichez la description du fichier de données.
  2. Affichez la description de la rubrique voulue.
  3. Dans l'onglet "Avancé", décochez l'option "Journaler la rubrique".

Générer l'analyse

Lorsque la journalisation a été définie dans l'éditeur d'analyses, l'analyse peut être générée.
Attention : Avant d'effectuer cette opération, il est conseillé de sauvegarder les fichiers de données avec l'outil WDLog.

Modification automatique des données et journalisation

Lorsque une modification automatique des fichiers de données est effectuée sur des fichiers de données journalés :
  1. Les fichiers journaux sont automatiquement sauvegardés.
  2. Les fichiers journaux sont purgés.
Les différents fichiers créés lors de la mise en place de la journalisation
WINDEVWindowsHFSQL Classic

Fichiers créés en mode HFSQL Classic

Lorsqu'un fichier de l'analyse a été décrit avec une option de journalisation, les fichiers suivants peuvent être créés :
JournalOpération.FicEnsemble des opérations réalisées sur les fichiers de données HFSQL journalés utilisés par l'application. Une opération correspond à une fonction HFSQL.
JournalIdentification.FicListe des emplacements physiques de tous les fichiers journalés de l'application
* JNL.FicFichier créé pour chaque fichier journalé. Contient la valeur des enregistrements manipulés avant et après chaque opération.

Pour plus de détails sur la structure de ces fichiers, consultez : structure des fichiers journaux.
Pour paramétrer l'emplacement de ces fichiers et leur mot de passe :
  • Fichiers JournalOpération et JournalIdentification : Par défaut, ces fichiers sont créés dans le répertoire de l'application. Pour modifier ce répertoire :
    1. Affichez la description de l'analyse : cliquez dans le graphe de l'analyse, affichez le menu contextuel et sélectionnez l'option "Description de l'analyse".
    2. Affichez l'onglet "Journal".
    3. Sélectionnez le répertoire du fichier et son mot de passe si nécessaire.
    Remarque : Ce répertoire peut également être modifié pour chaque fichier journalé (option "Description du fichier de données" du menu contextuel, onglet "Divers"). Dans ce cas, les fichiers JournalOperation et JournalIdentification seront créés pour chaque fichier à l'emplacement spécifié.
  • Fichier *JNL : Par défaut ce fichier est créé dans le répertoire de l'application. Pour modifier ce répertoire :
    1. Affichez la description du fichier : option "Description du fichier de données" du menu contextuel.
    2. Affichez l'onglet "Divers".
    3. Sélectionnez le répertoire du fichier.
    Remarque : Le mot de passe du fichier *JNL.fic sera identique au mot de passe du fichier de données.
WINDEVWindowsHFSQL Client/Serveur

Fichiers créés en mode HFSQL Client/Serveur

Lorsqu'un fichier de l'analyse a été décrit avec une option de journalisation, les fichiers suivants peuvent être créés :
JNL_FILES.FicDescription des fichiers journalés.
JNL_OPERATION.FicDescription des actions effectuées sur un fichier journalé.
JNL_USERS.FicDescription des utilisateurs effectuant une action sur un fichier journalé.
*JNL.FicFichier créé pour chaque fichier journalé. Contient la valeur des enregistrements manipulés avant et après chaque opération.

Pour plus de détails sur la structure de ces fichiers, consultez : structure des fichiers journaux en mode Client/Serveur.
WDLog : utilitaire de gestion des journaux
L'utilitaire WDLog permet de :
  • Sauvegarder et restaurer vos fichiers de données
  • Vérifier la cohérence d'un journal et le purger si nécessaire
  • Restaurer un fichier de données à partir de son journal.
  • Rechercher qui a modifié un enregistrement, à quelle date, ...
Cet utilitaire est redistribuable avec vos applications. Pour plus de détails, consultez WDLog.
Manipuler les journaux par programmation
La gestion des journaux est automatique. Cependant plusieurs fonctions du WLangage permettent de manipuler des journaux :
HChangeRepJnlModifie dynamiquement l'emplacement des fichiers du journal correspondant à un fichier HFSQL (fichier *JNL et fichiers JournalOpération et JournalIdentification).
HFSQL Client/Serveur Cette fonction n'a aucun effet.
HGèreJournalPermet d'activer ou non la gestion des journaux. Cette gestion est activée par défaut. Si dans un traitement, il n'est pas nécessaire de gérer les journaux, il suffit d'appeler la commande HGèreJournal(Faux). Dans ce cas, l'exécution des traitements sera plus rapide.
HHistoriqueModificationRenvoie les modifications apportées à une ou plusieurs rubriques d'un enregistrement donné.
HJournalInfoAjoute de commentaires dans le journal lors de l'enregistrement de l'opération journalée. Ces commentaires pourront être visualisés dans WDLog.
HJournalRecréeRe-crée un journal à vide. Cette fonction permet par exemple une remise à 0 du journal après une sauvegarde ou une réplication par exemple). Le contenu des fichiers existants est perdu.
HJournalRedémarreRedémarre la journalisation du fichier. Cette journalisation a été arrêtée grâce à la fonction HJournalStop.
HJournalStopArrête la journalisation du fichier. Les manipulations effectuées dans le fichier journalé ne sont plus enregistrées.
HRégénèreFichierRégénère un fichier à partir de son journal.

Des propriétés WLangage permettent également de gérer les fichiers journalés :
FichierJournalPermet de savoir si un fichier de données est un fichier journal ou non.
JournalisationPermet de connaître le mode de journalisation utilisé pour un fichier de données (fichier défini sous l'éditeur d'analyses ou défini dynamiquement).
RépertoireJournalPermet de gérer le répertoire du fichier journal décrit dans l'analyse. Il est ainsi possible de :
  • Connaître le répertoire du journal pour un fichier défini sous l'éditeur d'analyses ou défini dynamiquement.
  • Définir le répertoire du journal pour un fichier défini dynamiquement.
HFSQL Client/Serveur Cette propriété renvoie "." (répertoire en cours).
RépertoireJournalOpérationPermet de gérer le répertoire du fichier des opérations du journal associé à un fichier Journalé. Il est ainsi possible de :
  • Connaître le répertoire du journal des opérations lié à un fichier journalé défini sous l'éditeur d'analyses ou défini dynamiquement.
  • Définir le répertoire du journal des opérations pour un fichier défini dynamiquement.
HFSQL Client/Serveur Cette propriété n'a aucun effet.
WINDEVWindowsHFSQL Classic

Deux fichiers de données ne doivent pas utiliser le même fichier journal

Plusieurs cas peuvent se présenter :
  • Lors de la création d'un fichier de données, le journal se sert des GUID pour vérifier que deux fichiers de données situés à des emplacements différents n'utilisent pas le même fichier journal. En effet, si plusieurs fichiers de données utilisent le même fichier journal, les données du journal pourraient être corrompues.
    Si plusieurs fichiers utilisent le même fichier journal, une erreur est affichée.
  • Lors de la copie ou du déplacement d'un fichier de données, le GUID de ce fichier n'est pas modifié. Dans ce cas, le moteur HFSQL détecte que l'emplacement du fichier de données a été modifié. Un nouvel enregistrement est automatiquement ajouté dans le fichier JournalIdentification afin de noter le nouvel emplacement du fichier de données et son GUID. Cependant, le journal n'effectue aucune vérification.
    Il appartient au développeur de s'assurer que deux copies du même fichier de données situées à des emplacements différents n'utilisent pas le même fichier journal, auquel cas le contenu du journal ne correspond plus à aucun des 2 fichiers.
  • Lors de la substitution d'un fichier de données par une de ses sauvegardes plus anciennes, le GUID n'est pas modifié. La journalisation ne détecte pas automatiquement cette opération.
    Dans une telle situation, il faut supprimer le fichier JNL en même temps que son fichier de données et éventuellement restaurer le fichier JNL sauvegardé en même que la sauvegarde du fichier de données.
Rappel : Deux types de GUID de fichiers sont gérés par le moteur HFSQL :
  • GUID de fichier défini lors de la description du fichier sous l'éditeur d'analyses. Ce GUID est utilisé dans la gestion du .REP.
  • GUID du fichier défini lors de la création du fichier de données physique. Ce GUID est utilisé dans la journalisation.
Voir Aussi
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 04/09/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale