Creare log in formato JSON in PHP con php-json-logger
In questo articolo vediamo come creare un file di log in formato JSON usando PHP.
Per fare questo possiamo usare la libreria php-json-logger.
Possiamo installarla usando composer:
composer require nekonomokochan/php-json-logger
A questo punto vediamo un esempio di codice:
include_once 'vendor/autoload.php';
use Nekonomokochan\PhpJsonLogger\LoggerBuilder;
$data = [
'squadra' => 'Roma',
'punti' => 6,
'allenatore' => 'Mourinho',
'calciatori' => [
[
'numero' => 21,
'nome' => 'Dybala',
],
[
'numero' => 22,
'nome' => 'Zaniolo',
]
],
];
$logFile = './log/test-php-json-logger.log';
$loggerBuilder = new LoggerBuilder();
$loggerBuilder->setFileName($logFile);
$logger = $loggerBuilder->build();
$logger->info('INFO', $data);
Questo creerà un file nella cartella log, che dobbiamo aver già creato.
In caso non dovesse creare il file, controllate i permessi.
Nel caso specifico il contenuto del file sarà una cosa del genere:
{
"log_level": "INFO",
"message": "INFO",
"channel": "PhpJsonLogger",
"trace_id": "34e8f06e-e7cf-4c85-a09b-1d575433a7a7",
"file": "/var/www/html/TestPhp/index.php",
"line": 29,
"context": {
"squadra": "Roma",
"punti": 6,
"allenatore": "Mourinho",
"calciatori": [{
"numero": 21,
"nome": "Dybala"
}, {
"numero": 22,
"nome": "Zaniolo"
}]
},
"remote_ip_address": "127.0.0.1",
"server_ip_address": "127.0.0.1",
"user_agent": "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0",
"datetime": "2022-08-23 14:33:27.177369",
"timezone": "Europe/Berlin",
"process_time": 0.010013580322265625
}
Enjoy!
php json log php-json-logger composer
Commentami!