dafiti/logger-service-provider

Silex 的扩展日志服务提供程序

该软件包的官方仓库似乎已不存在,因此该软件包已被冻结。

0.3.0 2015-10-28 19:11 UTC

This package is not auto-updated.

Last update: 2021-06-11 23:46:17 UTC


README

Build Status Scrutinizer Code Quality Code Coverage HHVM Latest Stable Version Total Downloads License

基于 SilexMonolog 的 Silex 扩展日志服务提供程序

安装

该软件包可在 Packagist 上找到。自动加载与 PSR-4 兼容。

{
    "require": {
        "dafiti/logger-service-provider": "dev-master"
    }
}

使用

基本

use Silex\Application;
use Dafiti\Silex\LoggerServiceProvider;

$app = new Application();
$app->register(new LoggerServiceProvider(), [
    'logger.log_folder' => 'data/logs/',
    'logger.level'      => 'debug'
]);

// Create Logger - (StreamHandler default)
$app['logger.create']('app');

具有级别、处理程序和处理器记录器

// Create Logger with another handlers
$app['logger.create']('worker', 'info', [
    new FirePHPHandler(),
    new ErrorLogHandler(ErrorLogHandler::OPERATING_SYSTEM)
]);


// Create Logger with processors
$app['logger.create']('worker', 'info', [], [
    new Processor\UidProcessor()
]);

日志示例

// Log something
$app['logger.manager']->get('worker')->log('something');
//or
$app['logger.manager']->worker->log('something');

客户记录器

class Custom extends \Dafiti\Silex\Log\Logger
{
}

$app['logger.manager']->add(new Custom('custom'));

记录器存在

// Check if logger exists
$app['logger.manager']->has('worker'); //boolean

工厂处理程序

$worker = [
    'class' => '\Monolog\Handler\StreamHandler',
    'params' => [ // class parameters
        'stream'         => '/tmp/worker.log',
        'level'          => 'info',
        'bubble'         => false,
        'filePermission' => null,
        'useLocking'     => true
        
    ]
];
$app['logger.handler']($worker);

工厂多个记录器

$loggers = [
    'process' => [
        'level' => 'debug',
        'handlers' => [
            [
                'class' => '\Monolog\Handler\StreamHandler',
                'params' => [
                    'stream' => '/tmp/process.log'
                ]
            ],
        ]
    ],
    'mail' => [
        'handlers' => [
            [
                'class'  => '\Monolog\Handler\NativeMailerHandler',
                'params' => [
                    'to' => 'some@some.com',
                    'subject' => 'Wat!',
                    'from' => 'thing@thing.com'
                ]
            ]
        ]
    ]
];

$app['logger.factory']($loggers);

许可

MIT 许可证