Voici la documentation : https://geoplateforme.pages.gpf-tech.ign.fr/documentation

Skip to content

chore(logs): IGNGPF-464 add user and technical logs

Quy Thy Truong a demandé de fusionner chore/add-new-logger vers main

On distingue deux types de logs:

  • les logs users permettant de préciser pour chaque fichier le résultat du contrôle (OK ou alors erreur et le détail de l'erreur)
  • les logs plus techniques qui détaillent les différents actions technique (accès au fichier avec emplacements, commandes exécutées, etc...)

Par défaut, les logs user s'affichent toujours, exemple avec gpf-md5-checker -w tests/fixtures/livraisons/good/default/ -u upload -c parameters_v2.json, les messages suivants s'affichent :

2023-04-20 10:19:05,407||USER||INFO||md5sum||Vérification de all.md5 : SUCCESS
2023-04-20 10:19:05,407||USER||INFO||md5sum||Résultat global de la vérification : SUCCESS

Cas d'une livraison en erreur, la commande gpf-md5-checker -w tests/fixtures/livraisons/error/ -u upload -c parameters_v2.json renvoie:

2023-04-20 11:00:00,659||USER||INFO||md5sum||Vérification de md5.md5 : SUCCESS
2023-04-20 11:00:00,659||USER||INFO||md5sum||Vérification de subdir_md5.md5 : SUCCESS
2023-04-20 11:00:00,659||USER||INFO||md5sum||Vérification de subdir_oslandia.md5 : SUCCESS
2023-04-20 11:00:00,659||ERROR||check_path||/home/qtt/IGN-Lot2A/check-md5/tests/fixtures/livraisons/error/upload/invalid_upload/oslandia.tx doesn't exist.
2023-04-20 11:00:00,659||ERROR||md5sum||tests/fixtures/livraisons/error/upload/invalid_upload/oslandia.tx: TECHNICAL ERROR: le fichier tests/fixtures/livraisons/error/upload/invalid_upload/oslandia.tx n'existe pas.
2023-04-20 11:00:00,659||USER||INFO||md5sum||Vérification de failed_all.md5 : TECHNICAL_ERROR
2023-04-20 11:00:00,659||USER||INFO||md5sum||Vérification de subdir_all.md5 : SUCCESS
2023-04-20 11:00:00,660||USER||INFO||md5sum||Vérification de all.md5 : SUCCESS
2023-04-20 11:00:00,660||USER||INFO||md5sum||Vérification de oslandia.md5 : SUCCESS
2023-04-20 11:00:00,660||USER||INFO||md5sum||Résultat global de la vérification : TECHNICAL_ERROR
2023-04-20 11:00:00,660||ERROR||cli||Running md5 Checker (version 2.1.0) failed. Trace: {'tests/fixtures/livraisons/error/upload/invalid_upload/md5.md5': [Result(filename='tests/fixtures/livraisons/error/upload/invalid_upload/md5.txt', status='SUCCESS')], 'tests/fixtures/livraisons/error/upload/invalid_upload/subdir_md5.md5': [Result(filename='tests/fixtures/livraisons/error/upload/invalid_upload/subdir/md5.txt', status='SUCCESS')], 'tests/fixtures/livraisons/error/upload/invalid_upload/subdir_oslandia.md5': [Result(filename='tests/fixtures/livraisons/error/upload/invalid_upload/subdir/oslandia.txt', status='SUCCESS')], 'tests/fixtures/livraisons/error/upload/invalid_upload/failed_all.md5': [Result(filename='tests/fixtures/livraisons/error/upload/invalid_upload/md5.txt', status='FAILURE'), Result(filename='tests/fixtures/livraisons/error/upload/invalid_upload/oslandia.tx', status='TECHNICAL_ERROR')], 'tests/fixtures/livraisons/error/upload/invalid_upload/subdir_all.md5': [Result(filename='tests/fixtures/livraisons/error/upload/invalid_upload/subdir/md5.txt', status='SUCCESS'), Result(filename='tests/fixtures/livraisons/error/upload/invalid_upload/subdir/oslandia.txt', status='SUCCESS')], 'tests/fixtures/livraisons/error/upload/invalid_upload/all.md5': [Result(filename='tests/fixtures/livraisons/error/upload/invalid_upload/md5.txt', status='SUCCESS'), Result(filename='tests/fixtures/livraisons/error/upload/invalid_upload/oslandia.txt', status='SUCCESS')], 'tests/fixtures/livraisons/error/upload/invalid_upload/oslandia.md5': [Result(filename='tests/fixtures/livraisons/error/upload/invalid_upload/oslandia.txt', status='SUCCESS')]}

=> Le dernier message de log est superflu je trouve, qu'en pensez-vous @bducarouge @geojulien ?

En mode verbose, gpf-md5-checker -w tests/fixtures/livraisons/good/default/ -u upload -c parameters_v2.json -v affiche les logs user + les logs techniques:

2023-04-20 10:38:52,531||INFO||cli||Vérification de la structure de la livraison
2023-04-20 10:38:52,531||INFO||cli||Ouverture du fichier de configuration
2023-04-20 10:38:52,531||INFO||cli||Téléchargement des fichiers dans le dossier tests/fixtures/livraisons/good/default/upload
2023-04-20 10:38:52,576||INFO||s3_client||Downloading all objects prefixed by 'uploads/valid_upload' from bucket 'upload-test-check-md5' to tests/fixtures/livraisons/good/default/upload/valid_upload
2023-04-20 10:38:52,576||INFO||s3_client||Multithreading enabled: 20 threads used.
2023-04-20 10:38:52,576||INFO||s3_client||Listing objects from bucket 'upload-test-check-md5' which are prefixed with 'uploads/valid_upload
2023-04-20 10:38:52,592||USER||INFO||md5sum||Vérification de all.md5 : SUCCESS
2023-04-20 10:38:52,592||USER||INFO||md5sum||Résultat global de la vérification : SUCCESS
2023-04-20 10:38:52,592||INFO||cli||Ecriture d'un fichier de sortie dans tests/fixtures/livraisons/good/default

Par ailleurs, je me suis aperçue que les checks sur les dossier workdir et upload sont fait 2 fois: une fois dans la CLI avant le lancement du run et une fois dans la fonction run. Pour éviter de doubler les checks inutilement, j'ai supprimés les checks dans le run puisque ceux-ci sont effectués en amont.

Modification effectuée par Quy Thy Truong

Rapports de requête de fusion

Chargement en cours