Análise de logs JSON do servidor
PHP
Medium
json
Tarefa «Análise de logs JSON do servidor»
Escreva um programa em PHP que lê da entrada padrão uma string JSON contendo um array de objetos de logs do servidor. Cada objeto possui os campos: 'timestamp' (string no formato ISO 8601), 'level' (string: 'info', 'warning', 'error'), 'message' (string). É necessário processar os logs e gerar um array JSON de objetos que são 'error' e ocorreram após 2023-06-15T00:00:00Z. Para cada um desses logs, deve-se adicionar o campo 'processed' com a data e hora atuais no formato ISO 8601 (por exemplo, '2023-06-20T12:34:56Z'). Os demais campos devem ser mantidos sem alterações. Exibir o resultado como uma string JSON, ordenada pelo campo 'timestamp' em ordem crescente.
Formato de Entrada
Uma linha — array JSON de objetos de logs.
Formato de Saída
Uma linha — array JSON de objetos filtrados e complementados.
Exemplos
Exemplo 1
ENTRADA
[{"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"}]
SAÍDA
[{"timestamp": "2023-06-16T08:30:00Z", "level": "error", "message": "Connection timeout", "processed": "2026-05-17T10:07:20Z"}]
Exemplo 2
ENTRADA
1,2,3
SAÍDA
[]
Exemplo 3
ENTRADA
[{"timestamp":"2023-06-15T00:00:01Z","level":"error","message":"Oops"},{"timestamp":"2023-06-14T23:59:59Z","level":"error","message":"Late"}]
SAÍDA
[{"timestamp": "2023-06-15T00:00:01Z", "level": "error", "message": "Oops", "processed": "2026-05-17T10:07:20Z"}]
Exemplo 4
ENTRADA
4,5,6
SAÍDA
[]
main.php