Yii Logging Library - File Target
This package provides the File target for the yiisoft/log. The target:
- records log messages in a file
- allows you to configure log files rotation
- provides the ability to compress rotated log files
Requirements
- PHP 8.0 or higher.
Installation
The package could be installed with composer:
composer require yiisoft/log-target-file --prefer-dist
General usage
Creating a rotator:
$rotator = new \Yiisoft\Log\Target\File\FileRotator(
$maxFileSize,
$maxFiles,
$fileMode,
$compressRotatedFiles
);
$maxFileSize (int)
- The maximum file size, in kilo-bytes. Defaults to10240
, meaning 10MB.$maxFiles (int)
- The number of files used for rotation. Defaults to5
.$fileMode (int|null)
- The permission to be set for newly created files. Defaults tonull
.$compressRotatedFiles (bool)
- Whether to compress rotated files with gzip. Defaults tofalse
.
Creating a target:
$fileTarget = new \Yiisoft\Log\Target\File\FileTarget(
$logFile,
$rotator,
$dirMode,
$fileMode
);
$logFile (string)
- The log file path. Defaults to/tmp/app.log
.$rotator (\Yiisoft\Log\Target\File\FileRotatorInterface|null)
- Defaults tonull
, which means that log files will not be rotated.$dirMode (int)
- The permission to be set for newly created directories. Defaults to0775
.$fileMode (int|null)
- The permission to be set for newly created log files. Defaults tonull
.
Creating a logger:
$logger = new \Yiisoft\Log\Logger([$fileTarget]);
For a description of using the logger, see the yiisoft/log package.
For use in the Yii framework, see the configuration files:
See Yii guide to logging for more info.
Testing
Unit testing
The package is tested with PHPUnit. To run tests:
./vendor/bin/phpunit
Mutation testing
The package tests are checked with Infection mutation framework. To run it:
./vendor/bin/infection
Static analysis
The code is statically analyzed with Psalm. To run static analysis:
./vendor/bin/psalm
Support the project
Follow updates
License
The Yii Logging Library - File Target is free software. It is released under the terms of the BSD License.
Please see LICENSE
for more information.
Maintained by Yii Software.