wappr / logger
使用Flysystem的PSR-3日志记录器。
1.2.0
2016-11-26 23:38 UTC
Requires
- php: >=5.6
- league/flysystem: ^1.0
- psr/log: ^1.0
This package is auto-updated.
Last update: 2024-09-16 04:10:25 UTC
README
日志记录器
这个日志记录器实现了PSR-3,因此您可以轻松地将当前日志记录器替换为这个。由于它使用了Flysystem,您可以轻松地在任何地方保留日志文件。
安装
通过composer安装此包是最好的方式。您可以从命令行执行,或将其添加到composer.json
文件中所需部分,例如"wappr/logger": "^1.2"
。下面是两种方式的示例。
Composer命令行
composer require wappr/logger
使用composer.json
{ "require": { "wappr/logger": "^1.2" } }
示例用法
基本用法
<?php include 'vendor/autoload.php'; use League\Flysystem\Filesystem; use League\Flysystem\Adapter\Local; use Psr\Log\LogLevel; use wappr\Logger; $adapter = new Local(__DIR__.'/storage/logs/'); $filesystem = new Filesystem($adapter); $logger = new Logger($filesystem, LogLevel::DEBUG); $logger->info('hello');
更改选项
<?php include 'vendor/autoload.php'; use League\Flysystem\Filesystem; use League\Flysystem\Adapter\Local; use Psr\Log\LogLevel; use wappr\Logger; $adapter = new Local(__DIR__.'/storage/logs/'); $filesystem = new Filesystem($adapter); $logger = new Logger($filesystem, LogLevel::DEBUG); $logger->setFilenameFormat('m-d-Y'); // change the format to month day year $logger->setFilenameExtension('txt'); // change the extension to txt $logger->info('hello');
使用S3进行日志存储
<?php include('vendor/autoload.php'); use Aws\S3\S3Client; use League\Flysystem\AwsS3v3\AwsS3Adapter; use League\Flysystem\Filesystem; use Psr\Log\LogLevel; use wappr\Logger; $client = S3Client::factory([ 'credentials' => [ 'key' => '', 'secret' => '', ], 'region' => 'us-east-1', 'version' => 'latest', ]); $adapter = new AwsS3Adapter($client, 'bucket-name'); $filesystem = new Filesystem($adapter); $logger = new Logger($filesystem, LogLevel::DEBUG); $logger->setFilenameFormat('/Ymd/m-d-Y_Gis'); $logger->info('hello');
在上面的示例中,它设置文件名为包括年、月、日的目录。这样所有新写入的文件都将放入该目录。这是我想到的克服S3没有文件锁定限制的唯一方法。由于它是对象存储,所以存储桶中的目录或文件数量无关紧要。
许可证
版权(c)2016 wappr
特此授予任何获取本软件及其相关文档副本(“软件”)的人免费使用软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,以及允许软件提供方以本协议规定的方式使用软件的权利,前提是
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论此类索赔、损害或其他责任是由于合同、侵权或其他方式引起的,与软件或其使用或其他交易有关。