yiisoft/log-target-file

Yii Logging Library - File Target

3.0.0 2023-02-17 05:52 UTC

This package is auto-updated.

Last update: 2024-03-06 19:41:34 UTC


README

68747470733a2f2f796969736f66742e6769746875622e696f2f646f63732f696d616765732f7969695f6c6f676f2e737667

Yii Logging Library - File Target


Latest Stable Version Total Downloads Build status Scrutinizer Code Quality Code Coverage Mutation testing badge static analysis type-coverage

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 to 10240, meaning 10MB.
  • $maxFiles (int) - The number of files used for rotation. Defaults to 5.
  • $fileMode (int|null) - The permission to be set for newly created files. Defaults to null.
  • $compressRotatedFiles (bool) - Whether to compress rotated files with gzip. Defaults to false.

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 to null, which means that log files will not be rotated.
  • $dirMode (int) - The permission to be set for newly created directories. Defaults to 0775.
  • $fileMode (int|null) - The permission to be set for newly created log files. Defaults to null.

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

Open Collective

Follow updates

Official website Twitter Telegram Facebook Slack

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.