Анализ JSON-логов сервера

PHP Средний json

Задача «Анализ JSON-логов сервера»

Напишите программу на PHP, которая читает из стандартного ввода JSON-строку, содержащую массив объектов логов сервера. Каждый объект имеет поля: 'timestamp' (строка в формате ISO 8601), 'level' (строка: 'info', 'warning', 'error'), 'message' (строка). Необходимо обработать логи и вывести JSON-массив объектов, которые являются 'error' и произошли после 2023-06-15T00:00:00Z. Для каждого такого лога нужно добавить поле 'processed' с текущей датой и временем в формате ISO 8601 (например, '2023-06-20T12:34:56Z'). Остальные поля сохранить без изменений. Вывести результат в виде JSON-строки, отсортированной по полю 'timestamp' в порядке возрастания.

Формат ввода

Одна строка — JSON-массив объектов логов.

Формат вывода

Одна строка — JSON-массив отфильтрованных и дополненных объектов.

Примеры

Пример 1

ВВОД
[{"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"}]
ВЫВОД
[{"timestamp": "2023-06-16T08:30:00Z", "level": "error", "message": "Connection timeout", "processed": "2026-05-17T10:07:20Z"}]

Пример 2

ВВОД
1,2,3
ВЫВОД
[]

Пример 3

ВВОД
[{"timestamp":"2023-06-15T00:00:01Z","level":"error","message":"Oops"},{"timestamp":"2023-06-14T23:59:59Z","level":"error","message":"Late"}]
ВЫВОД
[{"timestamp": "2023-06-15T00:00:01Z", "level": "error", "message": "Oops", "processed": "2026-05-17T10:07:20Z"}]

Пример 4

ВВОД
4,5,6
ВЫВОД
[]
main.php