hh/clogger

Delegate log to monolog for ThinkPHP6

v0.1.6 2023-01-12 05:42 UTC

This package is auto-updated.

Last update: 2025-05-12 11:39:01 UTC


README

Usage

  • composer require hh/clogger
use Think\Clogger\Facade\LogFacade as Log;

Log::channel('main')->debug('test info', [
            'context' => ['It`s Cool'],
        ])
  • Configurations
 'main' => [
            'type' => 'daily',
            'path' => think\Container::getInstance()->make('app')->getRuntimePath().'logs'.DIRECTORY_SEPARATOR.'main.log',
            'days' => 180,
        ]
  • Sql log
Db::listen(function ($sql, $time, $master) {
    $dbLogger = new Logger('db.logger');
    $handler = new RotatingFileHandler(Container::getInstance()->make('app')->getRuntimePath().'logs'.DIRECTORY_SEPARATOR.'sql.log', 180);
    $dbLogger->pushHandler($handler);

    if (0 === strpos($sql, 'CONNECT:')) {
        $dbLogger->info($sql);
        return;
    }

    if (is_bool($master)) {
        $master = $master ? 'master|' : 'slave|';
    } else {
        $master = '';
    }

    $dbLogger->info($sql . ' [ ' . $master . 'RunTime:' . $time . 's ]');
});