codemix/yii2-streamlog A Yii 2 log target for streams in URL format

logstreamstdout

Yii2 Streamlog

Latest Stable Version Total Downloads License

A Yii 2 log target for streams in URL format.

This log target allows you to log to any of the URL like targets that are supported by PHP. Typical use cases are docker containers that often log to STDOUT and STDERR, in which case the target urls would be php://stdout and php://stderr respectively.

It's also possible to use an already opened resource or one of PHP's predefined resource constants (only available in CLI context). See the $fp option below.

Installation and Configuration

Install the package through composer:

composer require codemix/yii2-streamlog

And then add this to your application configuration:

<?php
return [
    // ...
    'components' => [
        // ...
        'log' => [
            'targets' => [
                [
                    'class' => 'codemix\streamlog\Target',
                    'url' => 'php://stdout',
                    'levels' => ['info','trace'],
                    'logVars' => [],
                ],
                [
                    'class' => 'codemix\streamlog\Target',
                    'url' => 'php://stderr',
                    'levels' => ['error', 'warning'],
                    'logVars' => [],
                ],
            ],
        ],

Configuration Options

  • (string) $url the URL to use. See http://php.net/manual/en/wrappers.php for details. This gets ignored if $fp is configured.
  • (resource) $fp an open and writeable resource. This can also be one of PHP's predefined resources like STDOUT or STDERR, which are available in CLI context. (Since 1.2.0)
  • (string|null) $replaceNewline a string that should replace all newline characters in a log message. Default ist null for no replacement. (Since 1.1.0)
  • (bool) $disableTimestamp whether to omit the timestamp prefix. The default is false which will prepend every message with a timestamp generated by yii\log\Target::getTime(). (Since 1.3.0)
  • (string) $prefixString a string that will be prefixed to every message at the first position (even before the timestamp - if not disabled). Default is an empty string. (Since 1.3.0)
  • (bool) $enableLocking whether enable locking with flock() on the target. Note, that this is not supported by all stream types. Default is false. (Since 1.3.0)

Changelog

CHANGELOG

1.2.1

  • Issue #2: Fix check for writeable resource. (ndobromirov)

1.2.0

  • Issue #2: Improve performance by not opening a new filepointer on every call to export(). (ndobromirov)
  • Issue #2: Add new feature to supply an opened resource in $fp. (ndobromirov)

1.1.0

  • New feature: $replaceNewline to optionally replace newline characters in log messages

1.0.0

First stable release.

0.0.1

Initial version.

Statistics

Downloads
GitHub Stars
GitHub Forks

Releases

Comments



1.3.1 is the latest of 7 releases



MIT license
Stats
52 github stars & 7 github forks
702 downloads in the last day
18816 downloads in the last 30 days
919282 total downloads