xy2z / aclog
无依赖的简单PHP文件记录器
2.1.0
2023-06-15 19:16 UTC
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.4
- phpstan/phpstan: ^1.2
- phpunit/phpunit: ^9.5
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最佳)日志文件 - 这将节省大量磁盘空间。
开发
欢迎提交拉取请求,只需确保您的代码经过测试、分析并修复即可 - 见下文。
请记住为两个类进行测试:AcLog
和AcLogStatic
。
# Fix Coding Standards (php-cs-fixer)
composer fix
# Analyse code (phpstan)
composer analyse
# Test code (phpunit)
composer test
待办事项
- 徽章
- 稍后:获取选项值的方法
- 示例目录?