Creare log in formato JSON in PHP con php-json-logger

Mattepuffo's logo
Creare log in formato JSON in PHP con php-json-logger

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!


Condividi

Commentami!