Analyse von JSON-Serverlogs
PHP
Medium
json
Aufgabe «Analyse von JSON-Serverlogs»
Schreiben Sie ein PHP-Programm, das aus der Standardeingabe einen JSON-String liest, der ein Array von Server-Log-Objekten enthält. Jedes Objekt hat die Felder: 'timestamp' (ein String im ISO-8601-Format), 'level' (ein String: 'info', 'warning', 'error'), 'message' (ein String). Die Logs müssen verarbeitet werden, und es soll ein JSON-Array der Objekte ausgegeben werden, die 'error' sind und nach dem 2023-06-15T00:00:00Z aufgetreten sind. Für jedes dieser Logs muss ein Feld 'processed' mit dem aktuellen Datum und der aktuellen Uhrzeit im ISO-8601-Format (z. B. '2023-06-20T12:34:56Z') hinzugefügt werden. Die übrigen Felder bleiben unverändert. Das Ergebnis soll als JSON-String ausgegeben werden, sortiert nach dem Feld 'timestamp' in aufsteigender Reihenfolge.
Eingabeformat
Eine Zeile – ein JSON-Array von Log-Objekten.
Ausgabeformat
Eine Zeile – ein JSON-Array der gefilterten und ergänzten Objekte.
Beispiele
Beispiel 1
EINGABE
[{"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"}]
AUSGABE
[{"timestamp": "2023-06-16T08:30:00Z", "level": "error", "message": "Connection timeout", "processed": "2026-05-17T10:07:20Z"}]
Beispiel 2
EINGABE
1,2,3
AUSGABE
[]
Beispiel 3
EINGABE
[{"timestamp":"2023-06-15T00:00:01Z","level":"error","message":"Oops"},{"timestamp":"2023-06-14T23:59:59Z","level":"error","message":"Late"}]
AUSGABE
[{"timestamp": "2023-06-15T00:00:01Z", "level": "error", "message": "Oops", "processed": "2026-05-17T10:07:20Z"}]
Beispiel 4
EINGABE
4,5,6
AUSGABE
[]
main.php