azay/json-logger

Tiny PSR-3 compatible Json logger

v1.0.3 2023-10-19 12:08 UTC

This package is auto-updated.

Last update: 2024-09-19 14:03:12 UTC


README

Requirements

  • PHP 7 or greater
  • Json extension

Feature

  • JSON output format

Installation

Installation is possible using Composer.

composer require azay/json-logger

Log levels

Logger supports the logging levels described by RFC 5424.

Usage

<?php

use Azay\Log\JsonLogger;

require_once __DIR__ . '/vendor/autoload.php';

$logger = new JsonLogger(
    '/tmp/logger',
    JsonLogger::DEFAULT_JSON_OPTIONS,  // JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE
    JsonLogger::DEFAULT_TIME_FORMAT    // 'Y-m-d H:i:s'
);

//Optional, set maximum severity level, default `debug`
$logger->setLevel('info');
// or as constant
$logger->setLevel($logger::INFO);

$logger->info(
    'Info message for json logger',
    [
        'Foo' => 'Bar'
    ]
);

// This message will be ignored by severity
$logger->debug(
    'Verbose debug message',
    [
        'details' => 'Lorem ipsum...'
    ]
);

Output

file /tmp/logger.json

{"time":"2023-10-19 11:29:34","level":"info","message":"Info message for json logger","Foo":"Bar"}