Анализ 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