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.