afi / solo-logger
PHP 日志库
1.0.1
2022-03-09 14:19 UTC
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2024-09-09 19:54:27 UTC
README
示例
这里我们使用默认的日志记录器,将消息写入标准输出。
<?php
require_once "vendor/autoload.php";
Logger::init();
$logger = Logger::get();
$e = new RuntimeException("Error");
$arr = array("key" => "val", "key1" => 928);
$obj = new stdClass();
$obj->attribute = "value";
$l->error("Error!", $e);
$l->debug("Dump an array", $arr);
$l->debug("Write some object", $obj);
设置
Logger::init($settings);
设置是数组
$array = [
"loggers" => [],
"writers" => [],
"parsers" => []
]
日志记录器
您可以定义多个日志记录器。
"loggers" => [
"test-logger" => [
// enable\disable the logger. Optional, default - true
"enabled" => true,
// list of writers. Required, default - ["default"]
"writers" => ["default", "file-writer"],
// format of log message. Required.
"format" => "{date-time} {log-name} [{log-level}]: {log-message}\nContext: {log-context}\n\n"
]
],
format 属性包含宏,如 {XXXX}。它们将被值替换。
{date-time} - 当前日期时间 {log-name} - 当前日志记录器的名称 {log-level} - 当前日志级别 {log-message} - 日志消息 {log-context} - 上下文对象 {ip-address} - 客户端 IP 地址 {env.} - 提供对 $GLOBALS 数组的访问。例如,{env._SERVER.LC_NAME} 将返回 $_SERVER["LC_NAME"] 的值
写入器
写入器是一个写入日志消息的实体。
"writers" => [
"file" => [
"level" => Level::ERROR,
"class" => "Solo\\Logger\\Writers\\FileWriter",
"ignoreErrors" => false,
"writeOnlyCurrentLevel" => true,
"options" => [
"output" => "error-log.txt"
]
],
]
level - 写入器将处理此级别和更高级别的消息。必需。 class - 类名称。必需。 ignoreErrors - 如果为真,忽略错误。可选,默认为 true。 writeOnlyCurrentLevel - 仅写入与当前级别对应的消息。可选,默认为 false。 options - 包含写入器实例属性和值的数组。