alexivashchenko / php-logs
PSR-3 日志类
dev-master
2020-03-21 21:32 UTC
Requires
- psr/log: ^1.1
Requires (Dev)
- phpunit/phpunit: ^6.0.0
This package is auto-updated.
Last update: 2024-09-22 07:06:09 UTC
README
描述
兼容 PSR-3 的 PHP 日志类。
实现了 Psr\Log\LoggerInterface
使用它来创建和读取日志文件。
日志文件目录模式: /{path}/{channel}/{year}/{month}/{date}.{log_files_format}
示例: /logs/user-actions/2020/02/02.log
Composer
安装
从命令行
composer require alexivashchenko/php-logs:dev-master
在 composer.json
中
{
"require": {
"alexivashchenko/php-logs": "dev-master"
}
}
更新
composer update alexivashchenko/php-logs
用法
创建日志
<?php require 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php'; $Logger = new Ali\Logger([ 'path' => 'logs' . DIRECTORY_SEPARATOR, 'channel' => 'examples', 'log_files_format' => 'log', // log or txt 'line_type' => 'string', // string or json ]); $Logger->info('New user added', [ 'id' => 1, 'firstname' => 'Barack', 'lastname' => 'Obama', 'status' => 'ex-president', ]); $Logger->error('Error adding user');
读取日志
<?php require 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php'; $Logger = new Ali\Logger([ 'path' => 'logs' . DIRECTORY_SEPARATOR, 'channel' => 'examples', 'log_files_format' => 'log', // log or txt 'line_type' => 'string', // string or json ]); print_r($Logger->read(date('Y-m-d')));
日志内容
line_type
= 'string'
2020-03-20 16:47:37 [info] Test info message []
2020-03-20 16:47:37 [error] Test error message []
2020-03-20 16:47:37 [debug] Test debug message [{"id":1,"first_name":"Barack","last_name":"Obama","status":"ex-president"},{"id":2,"first_name":"Don","last_name":"Trump","status":"president"}]
line_type
= 'json'
{"time":"2020-03-21 17:13:58","level":"[info]","message":"Test info message","context":[]}
{"time":"2020-03-21 17:13:58","level":"[error]","message":"Test error message","context":[]}
{"time":"2020-03-21 17:13:58","level":"[debug]","message":"Test debug message","context":[{"id":1,"first_name":"Barack","last_name":"Obama","status":"ex-president"},{"id":2,"first_name":"Don","last_name":"Trump","status":"president"}]}