Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19
Description des fichiers d'historique
|
Nom du champ | Description |
sequence_number | Numéro d'opération séquentiel et unique dans la session d'historique |
time | Date et heure au format ISO 8601 : 'YYYY-MM-DDTHH:MM:SS.mmm' |
systemid | ID système |
component | Signature du composant (par exemple '4SQLS' ou 'dbmg') |
process_info_index | Correspond au champ "index" dans le fichier d'historique 4DRequestsLog_ProcessInfo.txt, permettant de relier une requête à un process |
request | ID de requête en mode distant chaîne de message pour les requêtes SQL ou messages ENREGISTRER EVENEMENT |
bytes_in | Nombre d'octets reçus |
bytes_out | Nombre d'octets envoyés |
server_duration | exec_duration | Dépend de l'endroit où l'historique est généré :
|
write_duration | Temps en microsecondes pour envoyer :
|
task_kind | Préemptif ou coopératif (respectivement 'p' ou 'c') |
rtt | Temps en microsecondes pris par le client pour envoyer la requête et pour qu'elle soit reçue par le serveur. Correspond respectivement aux chemins A vers D et E vers H dans l'image ci-dessous.
|
Acheminement de la requête :
Ce fichier d'historique enregistre des informations sur chaque process créé sur la machine de 4D Server ou la machine 4D distante qui a exécuté la commande (à l'exclusion des requêtes Web).
Comment démarrer ce fichier d'historique :
FIXER PARAMETRE BASE(Enreg requêtes 4D Server;1) //côté serveur
FIXER PARAMETRE BASE(Enreg requêtes client;1) //côté distant
Note : Cette instruction génère aussi le fichier d'historique 4DRequestsLog.txt (voir ci-dessous).
En-têtes
Ce fichier commence par les en-têtes suivants :
Contenu du fichier
Pour chaque requête, les champs suivants sont enregistrés :
Nom du champ | Description |
sequence_number | Numéro d'opération séquentiel et unique dans la session d'historique |
time | Date et heure au format ISO 8601 : "YYYY-MM-DDTHH:MM:SS.mmm" |
process_info_index | Numéro de process séquentiel et unique |
CDB4DBaseContext | UUID du contexte de base du composant DB4D |
systemid | ID système |
server_process_id | ID du process sur le serveur |
remote_process_id | ID du process sur le client |
process_name | Nom du process |
cID | Identifiant de la connexion 4D |
uID | Identifiant du client 4D |
IP | Addresse IPv4/IPv6 du client |
host_name | Nom d'hôte du client |
user_name | Nom de connexion utilisateur sur le client |
connection_uuid | Identifiant UUID de process de connexion |
server_process_unique_id | ID unique du process sur le serveur |
Ce fichier d'historique enregistre chaque requête HTTP et chaque réponse en mode brut (raw). La totalité des requêtes, en-têtes compris, est enregistrée ; optionnellement, le corps (body) des requêtes peut également être enregistré.
Comment démarrer ce fichier d'historique :
WEB FIXER OPTION(Web debug log;wdl activer sans body) //d'autres valeurs sont disponibles
Les champs suivants sont enregistrés pour les requêtes et les réponses :
Nom du champ | Description |
SocketID | ID de la socket utilisée pour la communication |
PeerIP | Adresse IPv4 de l'hôte (client) |
PeerPort | Port utilisé par l'hôte (client) |
TimeStamp | Horodatage en millisecondes (depuis le démarrage du système) |
ConnectionID | UUID de la connexion (UUID de la VTCPSocket utilisée pour la communication) |
SequenceNumber | Numéro d'opération séquentiel et unique dans la session d'historique |
Ce fichier d'historique enregistre chaque événement généré au niveau du langage de 4D. Le mode standard propose une vue basique des événements.
Comment démarrer ce fichier d'historique :
FIXER PARAMETRE BASE(Enregévénements debogage;2) //standard, tous les process
FIXER PARAMETRE BASE(Enreg historique du process courant;2) //standard, process courant uniquement
Les champs suivants sont enregistrés pour chaque événement :
Colonne | Description |
1 | Numéro d'opération séquentiel et unique dans la session d'historique |
2 | Date et heure au format ISO 8601 (YYYY-MM-DDThh:mm:ss.mmm) |
3 | ID process (p=xx) et ID unique process (puid=xx) |
4 | Niveau de stack |
5 | Peut être Nom de commande / Nom de méthode / Message / Info Start Stop task / Nom, événement ou callback plugin / UUID connexion |
6 | Durée de l'opération de connexion en millisecondes (différent 2e colonne) |
Ce fichier d'historique enregistre chaque événement généré au niveau du langage de 4D. Le mode tabulaire est plus compact et contient davantage d'informations que le mode standard.
Comment démarrer ce fichier d'historique :
FIXER PARAMETRE BASE(Enregévénements debogage;2+4) //format tabulaire étendu, tous les process
FIXER PARAMETRE BASE(Enreg historique débogage du process courant;2+4) // étendu, process courant uniquement
Les champs suivants sont enregistrés pour chaque événement :
Colonne | Nom du champ | Description | |||||||||||||
1 | sequence_number | Numéro d'opération séquentiel et unique dans la session d'historique | |||||||||||||
2 | time | Date et heure au format ISO 8601 (YYYY-MM-DDThh:mm:ss.mmm) | |||||||||||||
3 | Process ID | ID du process | |||||||||||||
4 | unique_processID | ID unique du process | |||||||||||||
5 | stack_level | Niveau de stack | |||||||||||||
6 | operation_type | Type d'opération d'historique. Il peut s'agir d'une valeur absolue:
| |||||||||||||
7 | operation | Peut représenter (en fonction du type d'opération) : | |||||||||||||
8 | operation_parameters | Paramètres passés aux commandes, méthodes ou aux plugins | |||||||||||||
9 | form_event | Evénement formulaire, le cas échéant ; vide dans les autres cas (par conséquent cette colonne est utilisée lorsque le code est exécuté dans une méthode formulaire ou méthode objet) | |||||||||||||
10 | Durée en micro secondes de l'action enregistrée courante ; uniquement pour les niveaux de femeture de stack (cf. 10e colonne des lignes 123 et 124 dans l'historique ci-dessus) |
Ce fichier journal enregistre de nombreux événements liés au fonctionnement interne de l'application et est lisible par l'homme. Vous pouvez inclure des informations personnalisées dans ce fichier à l'aide de la commande ENREGISTRER EVENEMENT.
Pour démarrer ce journal :
FIXER PARAMETRE BASE(Diagnostic log recording;1) //lancer l'enregistrement
Les champs suivants sont enregistrés pour chaque événement :
Nom des champs | Description |
sequenceNumber | Numéro d'opération unique et séquentiel dans la session de journalisation |
timestamp | Date et heure au format ISO 8601 (YYYY-MM-DDThh:mm:ss.mmm) |
loggerID | Optionnel |
componentSignature | Optionnel - signature de composant interne |
messageLevel | Info, Attention, Erreur |
message | Description de la saisie de journal |
En fonction de l'événement, d'autres champs peuvent également être enregistrés, tels que la tâche, la socket, etc.
Ces fichiers d'historique enregistrent chaque échange entre l'application 4D et le serveur mail (SMTP, POP3, IMAP) initié par les commandes suivantes :
Les fichiers d'historique peuvent être générés en deux versions :
Pour lancer cet historique :
FIXER PARAMETRE BASE(SMTP Log;1) //lancer SMTP log OU
FIXER PARAMETRE BASE(POP3 Log;1) //lancer POP3 log OU
FIXER PARAMETRE BASE(IMAP Log;1) //lancer IMAP log
Pour lancer ce log :
$server:=Creer objet
...
//SMTP
$server.logFile:="MySMTPAuthLog.txt"
$transporter:=SMTP Creer transporteur($server)
// POP3
$server.logFile:="MyPOP3AuthLog.txt"
$transporter:=POP3 Creer transporteur($server)
//IMAP
$server.logFile:="MyIMAPAuthLog.txt"
$transporter:=IMAP Creer transporteur($server)
Contenu
Pour chaque requête, les champs suivants sont enregistrés :
Colonne # | Description |
1 | Numéro d'opération unique et séquentiel dans la session d'enregistrement |
2 | Date et heure au format RFC3339 (yyyy-mm-ddThh:mm:ss.ms) |
3 | ID du Process 4D |
4 | ID unique du process |
5 |
|
Ce fichier d'historique enregistre toutes les requêtes ORDA envoyées depuis une machine distante. Vous pouvez les envoyer à la mémoire ou à un fichier sur disque. Il vous revient de choisir le nom et l'emplacement de ce fichier d'historique.
Comment démarrer ce fichier d'historique :
//à exécuter sur une machine distante
ds.startRequestLog(Fichier("/PACKAGE/Logs/ordaLog.txt")) //peut aussi être envoyé à la mémoire
Note : Si vous souhaitez utiliser une numérotation automatique unique dans le fichier d'historique ORDA, vous devez le lancer :
//à exécuter sur une machine distante
FIXER PARAMETRE BASE(Enreg requêtes client;1) //pour activer la numérotation automatique de l'historique
ds.startRequestLog(Fichier("/PACKAGE/Logs/ordaLog.txt")) //peut aussi être envoyé à la mémoire
FIXER PARAMETRE BASE(Enreg requêtes client;0) //désactive la numérotation automatique
Les champs suivants sont enregistrés pour chaque requête :
Nom du champ | Description | Exemple |
sequenceNumber | Numéro d'opération séquentiel et unique dans la session d'historique | 104 |
url | URL de la requête ORDA effectuée par le poste client | "rest/Persons(30001)" |
startTime | Date et heure de début au format ISO 8601 | "2019-05-28T08:25:12.346Z" |
endTime | Date et heure de fin au format ISO 8601 | "2019-05-28T08:25:12.371Z" |
duration | Durée de traitement client (ms) | 25 |
response | Objet réponse du serveur | {"status":200,"body":{"__entityModel":"Persons",[...] |
Produit : 4D
Thème : Fichiers d'historique d'aide au débogage
Nom intl. : Description of log files
Modifié : 4D v17 R5
Modifié : 4D v17 R6
Modifié : 4D v18 R2
Modifié : 4D v18 R3
Modifié : 4D v19
4D - Mode Développement ( 4D v19)