Analyse des logs JSON du serveur
PHP
Medium
json
Tâche «Analyse des logs JSON du serveur»
Écrivez un programme en PHP qui lit depuis l'entrée standard une chaîne JSON contenant un tableau d'objets de logs serveur. Chaque objet possède les champs : 'timestamp' (chaîne au format ISO 8601), 'level' (chaîne : 'info', 'warning', 'error'), 'message' (chaîne). Il faut traiter les logs et afficher un tableau JSON des objets qui sont de type 'error' et qui sont survenus après 2023-06-15T00:00:00Z. Pour chaque log de ce type, il faut ajouter le champ 'processed' avec la date et l'heure actuelles au format ISO 8601 (par exemple, '2023-06-20T12:34:56Z'). Les autres champs doivent être conservés sans modification. Afficher le résultat sous forme de chaîne JSON, triée par le champ 'timestamp' dans l'ordre croissant.
Format d\ entrée
Une ligne — un tableau JSON d'objets logs.
Format de sortie
Une ligne — un tableau JSON d'objets filtrés et enrichis.
Exemples
Exemple 1
ENTRÉE
[{"timestamp":"2023-06-14T10:00:00Z","level":"error","message":"Disk full"},{"timestamp":"2023-06-16T08:30:00Z","level":"error","message":"Connection timeout"},{"timestamp":"2023-06-15T12:00:00Z","level":"warning","message":"High memory usage"}]
SORTIE
[{"timestamp": "2023-06-16T08:30:00Z", "level": "error", "message": "Connection timeout", "processed": "2026-05-17T10:07:20Z"}]
Exemple 2
ENTRÉE
1,2,3
SORTIE
[]
Exemple 3
ENTRÉE
[{"timestamp":"2023-06-15T00:00:01Z","level":"error","message":"Oops"},{"timestamp":"2023-06-14T23:59:59Z","level":"error","message":"Late"}]
SORTIE
[{"timestamp": "2023-06-15T00:00:01Z", "level": "error", "message": "Oops", "processed": "2026-05-17T10:07:20Z"}]
Exemple 4
ENTRÉE
4,5,6
SORTIE
[]
main.php