yiisoft/log-target-file

Yii Logging Library - File Target

Package info

github.com/yiisoft/log-target-file

Homepage

Chat

Forum

Wiki

pkg:composer/yiisoft/log-target-file

Fund package maintenance!

Opencollective

yiisoft

Statistics

Installs: 316 749

Dependents: 38

Suggesters: 2

Stars: 22

Open Issues: 2

3.1.0 2025-12-13 11:57 UTC

Requires

Suggests

  • ext-zlib: Enabling gzip compression of rotated files.

Provides

None

Conflicts

None

Replaces

None

BSD-3-Clause 24d51c88a362c3c60adafa884b959f0423a208da

logframeworkloggeryii


README

👁 Yii

Yii Logging Library - File Target


👁 Latest Stable Version
👁 Total Downloads
👁 Build status
👁 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

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 use in the Yii framework, see the configuration files:

Documentation

For a description of using the logger, see the yiisoft/log package.

If you need help or have a question, the Yii Forum is a good place for that. You may also check out other Yii Community Resources.

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.

Support the project

👁 Open Collective

Follow updates

👁 Official website
👁 Twitter
👁 Telegram
👁 Facebook
👁 Slack