xy2z/aclog

无依赖的简单PHP文件记录器

2.1.0 2023-06-15 19:16 UTC

This package is auto-updated.

Last update: 2024-09-15 21:48:57 UTC


README

AcLog是一个简单、无依赖的PHP包,可以将活动记录到文件中。

AcLog可以用于轻松记录诸如cron作业、电子邮件、用户活动、错误详情等操作。

🧡 由 Datsi.app - 您的个人数据库 赞助。

要求

  • PHP 8.0+

安装

将其添加到现有项目中

composer require xy2z/aclog

基本用法

use xy2z\AcLog\AcLog;

$aclog = new AcLog(__DIR__ . '/logs');
$aclog->log($var); // can be any type: object, array, string, int, etc.
$aclog->log($var, $foo, $bar, $etc); // as many arguments you want.

设置选项

$aclog = new AcLog(
    log_dir: __DIR__ . '/logs',
    log_date_format: false,
    include_trace: false,
    output_method: AcLog::VAR_DUMP,
    line_breaks_between_header: 4,
    // etc.
);

更多选项请参阅AcLog.php文件的构造函数方法。

静态类

如果您愿意,也可以将其用作静态类。

use xy2z\AcLog\AcLogStatic;

AcLogStatic::setup(__DIR__ . '/logs');
AcLogStatic::log($var);

如果您想在静态类中设置选项,则需要将它们作为一个数组来设置。

AcLogStatic::setup([
    'log_dir' => __DIR__ . '/logs',
    'log_date_format' => false,
    'include_trace' => false,
    'output_method' => AcLog::VAR_DUMP,
    'line_breaks_between_header' => 4,
    // etc.
]);

除此之外,它应该与AcLog类完全相同,所有公共方法和属性也都可用。

静态别名

如果您想为静态类使用更短的名字,可以为它创建别名。

use xy2z\AcLog\AcLogStatic as acl;

acl::setup(__DIR__ . '/logs');
acl::log($var);

日志回调

您可以为每个log()调用添加回调,例如用户信息、请求头等。您可以添加任意数量的回调。

$aclog = new AcLog($this->logdir);

$aclog->add_log_append_callback(function () {
    return 'callback-1.';
});

$aclog->add_log_append_callback(array('MyClass', 'myCallbackMethod'));

提示

  • 考虑在几天后压缩(7zip最佳)日志文件 - 这将节省大量磁盘空间。

开发

欢迎提交拉取请求,只需确保您的代码经过测试、分析并修复即可 - 见下文。

请记住为两个类进行测试:AcLogAcLogStatic

# Fix Coding Standards (php-cs-fixer)
composer fix

# Analyse code (phpstan)
composer analyse

# Test code (phpunit)
composer test

待办事项

  • 徽章
  • 稍后:获取选项值的方法
  • 示例目录?