log4p/log4p

implementation of log for php

1.0.0 2017-07-06 10:10 UTC

This package is not auto-updated.

Last update: 2024-04-28 00:00:44 UTC


README

Implementation of log for php

Install

Via Composer

$ composer require log4p/log4p

Usage

// use default config
$logger = LoggerFactory::getLogger(__CLASS__);
$logger->info("This is a log info.", ['paramKey1'=>'paramValue1','paramKey2'=>'paramValue2']);
// use custom config
LoggerFactory::setConfigs(dirname(__DIR__).'/config/myconfig.php');
$logger = LoggerFactory::getLogger(__CLASS__);
$logger->info("This is a custom log info.", ['paramKey1'=>'paramValue1','paramKey2'=>'paramValue2']);

Config

<?php

return [
    
    /*
    |--------------------------------------------------------------------------
    | Configuration for log4p
    |--------------------------------------------------------------------------
    |
    | timezone 
    */
    'timezone' => "Asia/Shanghai",
    
    /*
    |--------------------------------------------------------------------------
    | Configuration for log4p
    |--------------------------------------------------------------------------
    |
    | key : filename
    | value : [
    |   namespace: '*' matching all classes.
    |   filePath: a file path to store the log.
    |   filenameFormat: a log file name format.
    |   contentFormat: a log content format.
    | ]
    */
    'rule' => [
        'sysout' => [
            'namespace' => '*',
            'filePath' => dirname(__DIR__).'/logs/sysout.log',
            'filenameFormat' => [
                'filename' => '{filename}-{date}',
                'date' => 'Ymd'
            ],
            'contentFormat' => [
                'content' => "[%datetime%] %level_name% - #className#: %message% %context% %extra%\n",
                'date' => 'Y-m-d H:i:s'
            ]
        ],
        'log4p' => [
            'namespace' => 'Log4p',
            'filePath' => dirname(__DIR__).'/logs/log4p.log',
            'filenameFormat' => [
                'filename' => '{filename}-{date}',
                'date' => 'Ymd'
            ],
            'contentFormat' => [
                'content' => "[%datetime%] %level_name% - #className#: %message% %context% %extra%\n",
                'date' => 'Y-m-d H:i:s'
            ]
        ]
    ],
];

Testing

$ phpunit

License

The MIT License (MIT). Please see License File for more information.