PHP Conference Japan 2024

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` 将在此处立即使用,如同临时日志器,在调用 `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