PHP code example of rubel9997 / multi-file-logger

1. Go to this page and download the library: Download rubel9997/multi-file-logger library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

rubel9997 / multi-file-logger example snippets


CREATE TABLE logs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    level VARCHAR(100),
    message TEXT,
    context JSON,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

use Rubel9997\MultiFileLogger\Loggers\LogManager;

// Log messages to different channels

$manager = new LogManager([
    'text' => ['path' => 'logs/text-log.txt'],
    'json' => ['path' => 'logs/json-log.json'],
    'stream' => ['path' => 'php://stdout'],
    'database' => [
        'connection' => 'mysql',
        'host' => '127.0.0.1',
        'database' => 'logger',
        'username' => 'root',
        'password' => '',
        'table' => 'logs',
    ]
]);

// Log messages to text file
$manager->driver('textFile')->log('info', 'This is a log message in a text file.');

// Log messages to json file
$manager->driver('jsonFile')->log('info', 'This is a log message in JSON format.');

// Log messages to stream
$manager->driver('stream')->log('info', 'This is a log message to stdout.');

// Log messages to database
$manager->driver('database')->log('info', 'This is a log message stored in the database.');

php artisan vendor:publish --provider="Rubel9997\MultiFileLogger\Loggers\LoggerServiceProvider" --tag="logger-config"


php artisan vendor:publish --provider="Rubel9997\MultiFileLogger\Loggers\LoggerServiceProvider" --tag="logger-migration"
php artisan migrate

use Rubel9997\MultiFileLogger\Loggers\LogManager;
use Rubel9997\MultiFileLogger\Loggers\Facades\LogFacade;

//use facade for store log with default driver
LogFacade::log('info', 'facade log');

// use multiple driver to store log
LogFacade::driver('textFile')->log('info', 'Facade: Log Message stored in text file.');
LogFacade::driver('jsonFile')->log('info', 'Facade: Log Message stored in JSON file.');
LogFacade::driver('stream')->log('info', 'Facade: Log Message stored in stream.');
LogFacade::driver('database')->log('info', 'Facade: Log Message stored in database.');

//use LogManager class for store log
$manager = app(LogManager::class);
$manager->driver('textFile')->log('info', 'Log Message store.');
$manager->driver('jsonFile')->log('info', 'Log Message store.');
$manager->driver('stream')->log('info', 'Log Message store.');
$manager->driver('database')->log('info', 'Log Message store.');