folded/log

将日志信息记录到您的 Web 应用程序的各个通道。

v0.1.2 2020-10-01 18:28 UTC

This package is auto-updated.

Last update: 2024-09-17 16:40:17 UTC


README

将日志信息记录到您的 Web 应用程序的各个通道。

Packagist License Packagist PHP Version Support Packagist Version Build Status Maintainability TODOs

摘要

关于

我创建了这个包,以便简单设置 Monolog,使其易于在任何项目中使用。

Folded 是一系列用于轻松设置 Web 应用程序的包,使用即插即用的包。

功能

  • 使用 monolog/monolog
  • 可以为同一个记录器添加多个“写入通道”(例如:文件、...)
  • 支持以下通道
    • 文件(例如:StreamHandler)

需求

  • PHP 版本 >= 7.4.0
  • 已安装 Composer

安装

1. 安装包

在您的根目录中,运行以下命令

composer require folded/log

示例

1. 创建一个文件记录器

在这个例子中,我们将创建一个文件记录器,然后我们将把调试信息记录到我们的日志文件中。

use function Folded\addLogger;
use function Folded\addDebugLog;

addLogger("myLogger", "file", [
  "path" => __DIR__ . "/logs/my-file.log",
]);

addDebugLog("myLogger", "This is my first debug log!");

注意,如果您想避免打字错误,可以使用常量来定义文件通道。

use function Folded\addLogger;
use function Folded\addDebugLog;
use const Folded\CHANNEL_FILE;

addLogger("myLogger", CHANNEL_FILE, [
  "path" => __DIR__ . "/logs/my-file.log",
]);

addDebugLog("myLogger", "This is my first debug log!");

目前只有一个通道

use const Folded\CHANNEL_FILE;

您可以记录各种严重性。以下是所有可用的日志方法

  • addAlertLog
  • addCriticalLog
  • addDebugLog
  • addEmergencyLog
  • addErrorLog
  • addInfoLog
  • addNoticeLog
  • addWarningLog

2. 在记录时添加额外参数

在这个例子中,我们将推送额外的数据作为键值对,与我们的日志消息一起。

use function Folded\addLogger;
use function Folded\addDebugLog;

addLogger("myLogger", "file", [
  "path" => __DIR__ . "/logs/my-file.log",
]);

addDebugLog("myLogger", "a user has registered", [
  "timestamp" => 1577836800,
]);

3. 手动选择严重性进行记录

在这个例子中,我们将使用一个 addLog 函数,它允许我们使用字符串选择严重性,从而提供更多灵活性。

use function Folded\addLogger;
use function Folded\addLog;

addLogger("myLogger", "file", [
  "path" => __DIR__ . "/logs/neutral.log",
]);

addLog("myLogger", "warning", "User email invalid");

请注意,如果您想避免打字错误,可以使用此库提供的严重性常量

use function Folded\addLogger;
use function Folded\addLog;
use const Folded\SEVERITY_WARNING;

addLogger("myLogger", "file", [
  "path" => __DIR__ . "/logs/neutral.log",
]);

addLog("myLogger", SEVERITY_WARNING, "User email invalid");

以下是您可以使用的所有严重性的完整列表

use const Folded\SEVERITY_ALERT;
use const Folded\SEVERITY_CRITICAL;
use const Folded\SEVERITY_DEBUG;
use const Folded\SEVERITY_EMERGENCY;
use const Folded\SEVERITY_ERROR;
use const Folded\SEVERITY_INFO;
use const Folded\SEVERITY_NOTICE;
use const Folded\SEVERITY_WARNING;

4. 向同一记录器添加另一个通道

在这个例子中,我们的记录器将记录到 2 个不同的文件。

use function Folded\addLogger;
use function Folded\addLoggerChannel;

addLogger("myLogger");

// First file
addLoggerChannel("myLogger", "file", [
  "path" => "path/to/file-1.log",
]);

// Second file
addLoggerChannel("myLogger", "file", [
  "path" => "path/to/file-2.log",
]);

现在,每次您调用像 addDebugLog() 这样的日志方法时,日志将写入这两个文件。

当此库能够提供不同类型的通道时,这将非常有用,例如,您将能够同时将日志写入文件和您的 Syslog 通道。

版本支持