ddniel16/php-logger

此包已被弃用,不再维护。未建议替代包。

PHP 系统日志,可选在系统日志或自定义文件中注册。无依赖。无需框架。

v2.1.2 2018-01-04 12:38 UTC

This package is not auto-updated.

Last update: 2022-02-19 04:27:16 UTC


README

PHP 系统日志,可选在系统日志或自定义文件中注册,支持不同优先级,对于控制台日志,支持不同类型的颜色。

安装

使用 composer

composer require ddniel16/php-logger

方法

可用方法

$logs->alert($message, $context);
$logs->critical($message, $context);
$logs->custom($message, $context);
$logs->debug($message, $context);
$logs->emergency($message, $context);
$logs->error($message, $context);
$logs->info($message, $context);
$logs->log(0, $message, $context);
$logs->notice($message, $context);
$logs->success($message, $context);
$logs->warning($message, $context);

示例

<?php

$logs = new \PhpLogger\PhpLogger();
$logs->setOutput(true);

$message = 'Hello Mr. {name} {lastname} Matrix awaits you!';
$context = array('name' => 'Jack', 'lastname' => 'Sparrow');

$logs->debug($message, $context);

Syslog

以方法的严重性或指令写入系统日志。

<?php

$syslog = new \PhpLogger\Syslog('testting');

$logger = new \PhpLogger\PhpLogger();
$logger->setSyslog($syslog);

$logger->debug('--> syslog <--');

文件

根据严重性写入文件的消息。

<?php

$optionsFile = array(
    'logDir' => __DIR__ . '/logs',
    'name' => 'php-logger',
    'ext' => 'log',
    'dateFormat' => 'd-m-Y H:i:s P',
    'maxLogs' => 3,
    'maxSize' => 700
);

$file = new \PhpLogger\File($logFile);

$logger = new \PhpLogger\PhpLogger();
$logger->setFile($file);

$logger->debug('debug message');

自定义

class CustomLogger implements PhpLogger\CustomInterface
{

    public function writeLog(
        $message,
        $priority = LOG_DEBUG,
        $priorityMsg = '[debug]'
    )
    {

        if ($priority === LOG_CRIT) {
            mail('user@example.com', $priorityMsg, $message);
        }

    }

}

$logs = new \PhpLogger\PhpLogger();
$logs->setCustom(new CustomLogger());
$logs->setOutput(false);

$message = 'Hola Sr. {name} {lastname}';
$context = array('name' => 'Jack', 'lastname' => 'Sparrow');

$logs->critical($message, $context);