lliure/lllog

PHP 中处理日志和记录历史的包。

v1.7.3 2024-08-16 21:46 UTC

This package is auto-updated.

Last update: 2024-09-16 23:15:11 UTC


README

Lllog 组件旨在根据用户定义的规范存储系统执行日志。每次调用组件时都会记录日志,提供所有所需步骤的实时历史。

使用方法

使用 lllogs 有两种方法:简单方式和高级方式。两者都需要初始化并将初始配置传递给对象。

$log = new Logger();
$log->setApp('{app name}');
$log->setModule('{module name}');
$log->setAuthor('{author name}');
  • app:指代应用程序,如果在名为 "Virtual Store" 的应用程序中进行日志记录,则 app 属性应设置为 virtualStore

    • 示例: `$log->setApp('VirtualStore');`
  • module:表示记录日志的模块。例如,如果 Virtual Store 应用程序正在记录 Products,则建议模块为 products

    • 示例: `$log->setModule('products');`
  • author:分配给使用系统的用户。

    • 示例: `$log->setAuthor('Leonidas');`

简单使用

在简单使用中,开发者只需使用记录方法之一。
这些可以是: `info|success|error|warning|debug`

  • type:日志类型可以是 info、success、error、warning 或 debug。
    • 示例: `$log->[info|success|error|warning|debug]();`
    • 也可以稍后使用 changeStatus() 方法进行更改,使用 `$returnLog->changeStatus(Logger::[info|success|error|warning|debug]);`

使用如下:
`$log->info(string {message}, string {detail}, string {key}, string|boolean {expire}, string {jsonData}, string {alias} )`

  • message:日志的主要文本,也可以是标题。
  • detail:可以在此处记录日志执行信息。
  • key:一个标识此日志属于谁的参数,例如 ID 或参考。
  • expire:定义此日志条目的持续时间。它可以传递为 DateInterval() 表示法或布尔值。如果为 false,则持续时间为三个月(P3M),如果为 true,则持续 14 天(P14D)。
  • jsonData:可以包含与记录日志相关的数据 JSON,可用于报告。
  • alias:此字段负责对日志条目进行别名处理,可以在报告中查询和使用。

不可操作字段

  • token:为每个实例化对象生成一个令牌。所有使用此对象进行的记录都将收到相同的令牌。
  • datetime:记录日志记录的日期和时间。

高级使用

在此使用中,可以修改日志条目,记录更多信息并更改其类型,以及其他功能。
要这样做,在记录日志后,将其内容返回到变量中。此变量是该日志条目的对象,例如 `$info = $log->info('Test log');`
之后,您可以使用一些方法来编辑此条目。

  • step():使用此方法,您将在 data 字段中插入记录(与 detail 相同)。您可以多次调用它,传入的信息将累积在日志条目中。
  • changeStatus():此方法更改日志类型,可以是 `Logger::[INFO|SUCCESS|ERROR|WARNING|DEBUG]`。
  • key():使用 key() 方法,您可以通知条目的键。
  • alias():使用 alias() 方法,您可以指定正在处理的条目的别名。
  • expire():在 expire() 方法中,开发人员可以指定条目可用的期间,类似于 expire 参数,可以是 DateInterval() 或布尔值。
  • jsonData()方法:在此方法中,开发者可以指定一个JSON作为条目的输入,该输入可以在未来的报告中使用。

上述方法可以在定义日志条目前进行链式调用。
示例:`$log->key('21')->step('产品已成功注册到数据库')->success('记录产品');`
在这种情况下,始终将{info|success|error|warning|debug}()记录方法作为序列中的最后一个使用。

stash()方法

stash()方法可用于存储一系列信息,这些信息将在发生记录时立即卸载到日志的数据/详细部分。
示例

$log->stash('Building address');
$log->stash('Clearing phone');
$log->info('Sending data', 'Data sent: {...}', 22);

使用示例

$log = new Logger();
$log->setApp('virtualStore');
$log->setModule('products');
$log->setAuthor('Leonidas');

// Simple usage mode
$log->stash('stash test'); 
$log->info('bla bla bla', 'info test one', null, false, 1); 

// Advanced usage mode
$log->stash('stash test'); 
$info = $log->key('365984')->info('Test log');
$info->step('prepare data');
$info->changeStatus(Logger::SUCCESS)->step('Successfully changed');