SeasLog::log

(PECL seaslog >=1.0.0)

SeasLog::log通用记录日志函数

描述

public static SeasLog::log(
    string $level,
    string $message = ?,
    array $content = ?,
    string $logger = ?
): bool

通用记录日志函数。

参数

level

可以使用以下级别的日志:

或者您可以自己创建新的日志级别。

message

日志消息。

content

`message` 中包含占位符,实现者会将这些占位符替换为 `content` 数组中的值。例如,`message` 为 `log info from {NAME}`,`content` 为 `array('NAME' => neeke)`,则日志信息将为 `log info from neeke`。

logger

第三个参数指定的 `logger` 将在调用此函数时立即使用,就像一个临时日志器一样,在 `content` 预处理时调用 `SeasLog::setLogger()` 函数。如果 `logger` 为 NULL 或 "",SeasLog 将使用 SeasLog::setLogger() 设置的最后一个日志器。

返回值

记录日志信息成功返回 TRUE,失败返回 FALSE。

范例

范例 #1 SeasLog::log() 范例

<?php

var_dump
(SeasLog::log(SEASLOG_INFO,'info log'));
var_dump(SeasLog::getBuffer());

//创建新的日志级别
var_dump(SeasLog::log('MySelfLevel','info log'));
var_dump(SeasLog::getBuffer());

//使用 `content`
var_dump(SeasLog::log('MySelfLevel','info log {NAME}',array('NAME' => 'neeke')));
var_dump(SeasLog::getBuffer());

//使用 `logger`
var_dump(SeasLog::log('MySelfLevel','info log {NAME}',array('NAME' => 'neeke'),'tmp_logger'));
var_dump(SeasLog::getBuffer());


?>

上面的例子将输出类似于

bool(true)
array(1) {
  ["/var/log/www/default/20180707.log"]=>
  array(1) {
    [0]=>
    string(79) "2018-07-07 11:12:37 | INFO | 72427 | 5b402fa56a2ea | 1530933157.436 | info log
"
  }
}

bool(true)
array(1) {
  ["/var/log/www/default/20180707.log"]=>
  array(1) {
    [0]=>
    string(86) "2018-07-07 11:13:59 | MySelfLevel | 72470 | 5b402ff781c5e | 1530933239.532 | info log
"
  }
}

bool(true)
array(1) {
  ["/var/log/www/tmp_logger/20180707.log"]=>
  array(1) {
    [0]=>
    string(92) "2018-07-07 11:28:12 | MySelfLevel | 72833 | 5b40334ce6a2f | 1530934092.946 | info log neeke
"
  }
}

bool(true)
array(1) {
  ["/var/log/www/default/20180707.log"]=>
  array(1) {
    [0]=>
    string(86) "2018-07-07 11:20:12 | INFO | 72616 | 5b40316c3641e | 1530933612.222 | info log neeke
"
  }
}

参见

添加说明

用户贡献说明

此页面没有用户贡献的说明。
To Top